首页 > 解决方案 > WKWebView - 不从 Web 视图加载页面

问题描述

我正在显示一个网页WKWebView。它加载成功。页面上有 3 个按钮 - X、Y、Z。当点击 X 和 Y 时,web view内容会发生应有的变化。当 Z 被点击时,什么也没有发生。我在 Safari Mobile 中尝试了相同的链接。X 和 Y 的工作方式与WKWebView. Z 重定向到另一个页面。最后一个不会发生在应用程序中。有什么问题?先感谢您。

要加载我正在使用的显示页面:

if let url = URL(string: <My_URL>) {
    let request = URLRequest(url: url)
     wkWebView.load(request)
}

NSAllowsArbitraryLoads被设定为true

标签: ioswkwebview

解决方案


您是否实现了WKNavigationDelegate方法?

点击 Z 按钮时,应该调用此方法(否则,可能是您的 WEB 代码或 WKWebView 配置有问题)

func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
    decisionHandler(.allow)
}

如果一切正常,您可以通过这些调查一些问题

func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error)

func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error)

推荐阅读