ios - UIWebView isLoading 返回 YES,没有未完成的负载
<p><p>我有一个加载本地 HTML 文件的应用程序。 HTML 文件在 iFrame 中加载 Googlemap 。该应用程序有一个后退按钮,用于检查 UIWebView.canGoBack 和 UIWebView.isLoading</p>
<p>在 webViewDidStartLoad 和 webViewDidFinishLoad 中,我按照建议跟踪未完成的负载 <a href="https://stackoverflow.com/a/2796540/519030" rel="noreferrer noopener nofollow">here</a> ,这样一旦我的负载达到零,我就可以更新后退按钮的状态等。</p>
<p>在第一次加载控件时,一旦所有的 webViewDidFinishLoads 都发生了,canGoBack 和 isLoading 都将返回 NO。 </p>
<p>在控件的第二次加载时,一旦所有 webViewDidFinishLoads 发生,isLoading 就会“挂起”,总是返回 YES,并且(我假设结果)canGoBack 也将返回 YES,即使它位于堆栈的顶部。 </p>
<p>附加 Safari 的调试器我可以确认当 isLoading 返回 YES 时没有未完成的 HTTP 请求。</p>
<p>我 <a href="https://stackoverflow.com/a/19663590/519030" rel="noreferrer noopener nofollow">note that others</a>过去曾在 iOS 和 Safari 中看到过 canGoBack 行为的错误。</p>
<p>问题:</p>
<ol>
<li>UIWebView.isLoading 通过什么来确定网络请求是否完成?</li>
<li>UIWebView.canGoBack 的值是否确实与 isLoading 标志相关联?</li>
<li>任何人都可以建议一种解决方法来评估 canGoBack 吗?</li>
</ol></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>我也遇到了这个问题。我有一个 html 页面,其中包含由 javascript 代码插入的 iframe。<strong>src 属性为空</strong>。我发现当 iframe 附加到 dom 树时,UIWebView触发 shouldStartLoadWithRequest: 与 <strong>about:blank</strong> URL。删除 javascript 代码后,一切正常。</p></p>
<p style="font-size: 20px;">关于ios - UIWebView isLoading 返回 YES,没有未完成的负载,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/29526694/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/29526694/
</a>
</p>
页:
[1]