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。因爲即時消息限制除了新聞部分/文章加載的一切。希望我說的是有道理的 –
是的,當然你可以做到這一點,我做了很多次,它的工作 –
當然:)我會試試它最新的星期一,讓我的工作站。順便說一句,如果我使用你的功能,我可以刪除我的代碼集,只包括第一部分? –