使用WebKit阻止导航

时间:2016-04-12 22:37:59

标签: ios swift webkit

我想阻止用户在WebKit Web视图中点击链接(或带链接的按钮),实际上阻止了导航。看来这可以通过UIWebView实现。如何使用WKView完成此操作?

感谢。

1 个答案:

答案 0 :(得分:2)

可以通过多种方式阻止此类操作,并且很大程度上取决于您希望如何阻止它。

绝对最简单的是告诉WKWebView在所有情况下都停止加载但是初始加载

var isInitialLoad = true

func webView(webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {

    if self.isInitialLoad {
        self.isInitialLoad = false
    } else {
        webView.stopLoading()
    }
}

请注意以这种方式进行操作会导致您开火 webView(webView:WKWebView,didFailProvisionalNavigation navigation:WKNavigation!,withError error:NSError) 其中error.code = -999

您可以使用evaluateJavascript()查找页面上的所有锚标签/按钮,并通过javascript禁用/处理它们。

无论哪种方式,您可以在此处找到您可以直接对webview执行的操作:

https://developer.apple.com/library/ios/documentation/WebKit/Reference/WKWebView_Ref/index.html#//apple_ref/occ/cl/WKWebView