OGeek|极客世界-中国程序员成长平台

标题: ios - UIWebView isLoading 返回 YES,没有未完成的负载 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 15:02
标题: ios - UIWebView isLoading 返回 YES,没有未完成的负载

我有一个加载本地 HTML 文件的应用程序。 HTML 文件在 iFrame 中加载 Google map 。该应用程序有一个后退按钮,用于检查 UIWebView.canGoBack 和 UIWebView.isLoading

在 webViewDidStartLoad 和 webViewDidFinishLoad 中,我按照建议跟踪未完成的负载 here ,这样一旦我的负载达到零,我就可以更新后退按钮的状态等。

在第一次加载控件时,一旦所有的 webViewDidFinishLoads 都发生了,canGoBack 和 isLoading 都将返回 NO。

在控件的第二次加载时,一旦所有 webViewDidFinishLoads 发生,isLoading 就会“挂起”,总是返回 YES,并且(我假设结果)canGoBack 也将返回 YES,即使它位于堆栈的顶部。

附加 Safari 的调试器我可以确认当 isLoading 返回 YES 时没有未完成的 HTTP 请求。

note that others过去曾在 iOS 和 Safari 中看到过 canGoBack 行为的错误。

问题:

  1. UIWebView.isLoading 通过什么来确定网络请求是否完成?
  2. UIWebView.canGoBack 的值是否确实与 isLoading 标志相关联?
  3. 任何人都可以建议一种解决方法来评估 canGoBack 吗?



Best Answer-推荐答案


我也遇到了这个问题。我有一个 html 页面,其中包含由 javascript 代码插入的 iframe。src 属性为空。我发现当 iframe 附加到 dom 树时,UIWebView触发 shouldStartLoadWithRequest: 与 about:blank URL。删除 javascript 代码后,一切正常。

关于ios - UIWebView isLoading 返回 YES,没有未完成的负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29526694/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4