1
我有一个UIWebview,它加载了一个特定的网站部分(新闻)。我想阻止用户访问网站的其他部分,这意味着他们应该只留在新闻部分/阅读PDF文章。iOS UIWebView - 限制HTML路径
我已经构建了一组代码,但由于某些技术限制,可悲的是无法对它们进行测试。下周只能访问它。不过,我认为现在是时候在这里问一下,让高级用户查看我的草案代码,看看它是否可行。
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *urlAddress = @"http://www.imc.jhmi.edu/news.html";
NSURL *url =[NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];
//finding current url and lead it back if it strayed off
NSString *currentURL = webView.request.URL.absoluteString;
NSRange range1 = [currentURL rangeOfString:@"news"];
NSRange range2 = [currentURL rangeOfString:@"pdf"];
我应该使用
if (range1.location ==NSNotFound){
currentURL = @"http://www.imc.jhmi.edu/news.html";
[webView reload];
}else if (range2.location ==NSNotFound){
currentURL = @"http://www.imc.jhmi.edu/news.html";
[webView reload];
}
}
还是这一套代码?
if (range1.location ==NSNotFound){
currentURL = @"http://www.imc.jhmi.edu/news.html";
url = [NSURL URLWithString:currentURL
[webView loadRequest:[NSURLRequest requestWithURL:url]];
}else if (range2.location ==NSNotFound){
currentURL = @"http://www.imc.jhmi.edu/news.html";
url = [NSURL URLWithString:currentURL
[webView loadRequest:[NSURLRequest requestWithURL:url]];
}
并且有没有代码的问题?如果是的话,请指出为什么它不起作用,因为我还处于学习阶段。在这个阶段将是一个学习更多的好机会。我正在寻找的逻辑是它会加载最初的新闻部分。 UIWebView应该只显示那里的新闻部分/ PDF文章。如果用户尝试去其他路径,它应该检测当前的URL并将它们重定向回新闻部分。
嗯,我得到了自己代表的一部分。但是第二部分,我可以反转它,并包括NSRange?如果它包含urlstring中的news或pdf,则返回YES以允许,那么其他所有内容都将返回NO // restrict。因为即时消息限制除了新闻部分/文章加载的一切。希望我说的是有道理的 –
是的,当然你可以做到这一点,我做了很多次,它的工作 –
当然:)我会试试它最新的星期一,让我的工作站。顺便说一句,如果我使用你的功能,我可以删除我的代码集,只包括第一部分? –