我想在iPad-App中创建一个显示网站的WebView。我想阻止用户点击链接到其他网站的链接(例如Facebook,Twitter,...),但他应该被允许在当前网站上自由移动。
我怎样才能做到这一点?
我尝试过:
func webView(WebViewNews: UIWebView!, shouldStartLoadWithRequest request: NSURLRequest!, navigationType: UIWebViewNavigationType) -> Bool {
let newWebsite:String = (request.URL?.path)!
print(newWebsite)
if newWebsite.rangeOfString("float-schwabing") != nil{
return true;
} else {
return false;
}
}
但是,它没有工作。我仍然可以访问其他网站。
如果有人可以帮我这个,那真是太棒了。
答案 0 :(得分:1)
正如您所做的那样,您应该可以在您的网站中导航,您可能有一些内部链接。请尝试以下代码,而不是今天的方式:
func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
if String(request.URL!).rangeOfString("YOUR WEBSITE") != nil{
return true
}
else{
return false
}
}
您基本上检查请求网址是否包含您的网站名称,如果是,您可能想要打开该链接,否则不会。
答案 1 :(得分:-1)
问题应出在if
声明中,您是否尝试return false
?只是为了看它是否有效?
func webView(WebViewNews: UIWebView!, shouldStartLoadWithRequest request: NSURLRequest!, navigationType: UIWebViewNavigationType) -> Bool {
return false
}
而且......很少见,但为什么不呢,你是否将代理人添加到webView
?