阻止用户在Swift中离开网站

时间:2016-04-05 20:01:30

标签: ios swift webview shouldstartload

我想在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;
    }
}
但是,它没有工作。我仍然可以访问其他网站。

如果有人可以帮我这个,那真是太棒了。

2 个答案:

答案 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