【问题标题】:Web View Exception网页浏览异常
【发布时间】:2019-02-27 12:38:06
【问题描述】:

我正在 Web 视图中加载 URL 请求,有时我会在日志中收到以下警告。由于警告,webViewDidFinishLoad 永远不会被调用。

WebKit 在 webView:didFinishLoadForFrame: 中丢弃了一个未捕获的异常:委托:尝试从第 0 节中删除第 1 项,该第 1 项在更新前仅包含 1 项。

我在集合视图单元格中添加了 Web 视图。

任何帮助将不胜感激!

【问题讨论】:

  • 你添加了 NSAppTransportSecurity 和 NSAllowsArbitraryLoads 吗?
  • @AtulParmar 是的
  • 请发布完整的日志,delegate :之后的警告是什么
  • @andesta.erfan 已编辑。

标签: ios swift webview uiwebview wkwebview


【解决方案1】:

添加异常断点。这将在引发异常时触发,让您了解发生了什么。

可能会遇到触发此断点的无害捕获异常,但它们非常罕见,因此通常如果触发此断点,这是一个合理的问题。不要将这些异常与 Swift throws 混淆。它们不相关。

【讨论】:

  • 它只是给WebKit丢弃了webView中未捕获的异常:didFinishLoadForFrame:委托:但应用程序没有崩溃。
  • 明白,但是异常断点会触发吗?另外,您是否实现了 webView(_:didFinishLoadFor:) 委托方法?这个错误提示那里有错误(不是webViewDidFinishLoad)
  • 是的,异常断点触发。还有 webViewDidFinishLoad 它已经被添加了。
  • 太棒了;如果触发了异常断点,您应该能够在堆栈跟踪中看到生成它的原因。
【解决方案2】:

您应该尝试以下解决方案来解决您的问题:

  1. Info.plist 文件中添加一个带有键'NSAppTransportSecurity'的字典
  2. 在字典中添加另一个元素,键为'NSExceptionDomains'
  3. 使用NSDictionary 类型的键“YourDomainName.com”添加元素
  4. 添加具有Boolean 类型的键“NSIncludesSubdomains”和值设置为YES 的元素
  5. 添加具有Boolean 类型的键“NSTemporaryExceptionAllowsInsecureHTTPLoads”和值设置为YES 的元素

如下所示:

我希望这能解决您的问题。

【讨论】:

    【解决方案3】:

    确保在 CollectionViewCell 的 awakeFromNib 调用中设置 WebView 的委托。 How to detect when UIWebView starts loading when Webview is inside a Collection View cell?

    【讨论】:

      猜你喜欢
      • 2012-12-28
      • 2016-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-20
      相关资源
      最近更新 更多