阻止用户在Swift中离开网站



我想在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中添加代理?

最新更新