我使用 UIWebView 来获取并显示一个 html 页面。我想在 html 完成加载时做一些事情,并在 ViewController 中显示,同时图像正在加载。我用
(void)webViewDidFinishLoad:(UIWebView *)webView
接收回电。但它应该在所有元素加载完成后采取行动,可能需要一分钟。它太慢了。
如果您想知道 dom 何时加载,您必须使用 javascript 列出 dom 加载事件,然后在该事件发生时调用您的 Objective-c 代码。
如果正在加载的是您的网页,那么您可以在源代码处添加必要的 javascript,如果是其他人的网页,则您需要使用 stringByEvaluatingJavaScriptFromString 将 javascript 注入页面。
要在 dom 加载事件触发后从 Javascript 调用 Objective-C,请参见此处
我建议使用 javascript 来了解图像何时加载。你可以打电话
stringByEvaluatingJavaScriptFromString:
在 webview 中执行一些 javascript 代码。