我想在iPad应用程序中创建一个显示网站的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;
}
}
但它没有起作用。我仍然可以访问其他网站。
如果有人能帮我,那就太棒了。
正如您所做的,您应该能够在您的网站中导航,您可能有一些内部链接。试试下面的代码,而不是你今天的做法:
func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
if String(request.URL!).rangeOfString("YOUR WEBSITE") != nil{
return true
}
else{
return false
}
}
你基本上会检查请求url是否包含你的网站名称,如果包含,你可能想打开该链接,否则你不会。
问题应该在您的if
语句中,您是否在所有情况下都尝试过return false
?只是看看它是否有效?
func webView(WebViewNews: UIWebView!, shouldStartLoadWithRequest request: NSURLRequest!, navigationType: UIWebViewNavigationType) -> Bool {
return false
}
而且。。。这很罕见,但为什么不呢?你有没有在webView
中添加代理?