【发布时间】:2017-05-25 02:16:48
【问题描述】:
当使用UIWebView 时,我想检测网页在iOS 应用程序中完成加载的时刻。
为此,我尝试使用this post 中提到的解决方案。
但问题是 webViewDidFinishLoad() 函数在页面出现在显示器上之前被调用(几乎在调用 loadRequest() 之后)解无用。 我错过了什么吗?还是有更好(或不同)的方法?
附:我正在使用 Xcode 版本 8.3.2 和 iOS 版本 10.3.2
【问题讨论】:
-
看起来你的 html 页面有一个异步加载内容的方式,这就是为什么 webViewDidFinishLoad() 函数被调用得非常快的原因。
-
我只是在 iOS 应用程序的 UIWebView 中加载任意网页,并不知道任何所谓的 moment.html 页面。请原谅我缺乏知识。在哪里可以查看这个 moment.html?
-
在网络浏览器(如 Chrome、Safari)中打开网址。然后右键页面,选择“查看页面源代码”,就可以查看html源代码了。
-
这不能回答我的问题。我希望我的 iOS 应用程序可以在用户要打开的任何页面上运行,该应用程序不能取决于所选页面的编写方式。我关心的是编写 iOS 应用程序而不是编写一些网页。
-
由于无法控制网页的内容,因此无法非常精确地控制调用webViewDidFinishLoad()的时机。也许网页中有一个 JS 任务需要 1 分钟才能完成,但网页在 1 秒内完成加载。
标签: ios swift uiwebview uiwebviewdelegate