【问题标题】:WKWebView - not loading a page from the web viewWKWebView - 不从 Web 视图加载页面
【发布时间】:2019-05-08 13:26:54
【问题描述】:

我正在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

【问题讨论】:

  • 检查:“将此键的值设置为 YES 以禁用 NSExceptionDomains 字典中未指定的所有域的应用程序传输安全 (ATS) 限制。您在该字典中指定的域不受此键的影响价值。” - developer.apple.com/documentation/bundleresources/…
  • @OscarFernandez 我看了看。我禁用了它,以便如果有任何限制它们不适用。但没有变化 - 仍然没有重定向到下一页。

标签: ios wkwebview


【解决方案1】:

您是否实现了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)

【讨论】:

  • 您好,感谢您的回复。原来 Z 在浏览器中打开了一个新选项卡,WKWebView 默认不处理,所以这让我决定在浏览器中打开它并来到这里:stackoverflow.com/a/33808811/3066272
【解决方案2】:

你需要这个实现WKUIDelegate方法-

    webView.uiDelegate = self   // set this before loading the original url, e.g. in viewDidLoad() of vc

然后在你的视图控制器中添加这个方法 -

    func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView? {
       // Ideally you should create another WKWebView on the fly and provide that web view instance in return statement
       // WebKit automatically loads the target url in this webview.
       return webView
    }

来源:https://developer.apple.com/documentation/webkit/wkuidelegate

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多