cocoa - 如何知道 WebView 何时完成渲染?

标签 cocoa webview webkit

在 Apple 的 WebKit 框架中,已完成资源加载的 WebView 会向其 frameLoadDelegate 发送一条 webView:didFinishLoadForFrame: 消息。不过,这只是表示资源已加载,并不表示渲染完成……如何检测WebView渲染完成?在 WebView 的所有委托(delegate)中,我找不到具有我需要的方法的委托(delegate)......

最佳答案

我还希望找到委托(delegate)方法中的所有内容,也尝试使用资源加载方法,计算加载的开始和结束,但这也不可靠。 stackoverflow 上的答案没有对我有帮助,但 Apple 开发论坛上的某人指出了似乎是答案的内容。

WebView 还发布通知 WebViewProgressStartedNotification、WebViewProgressEstimateChangedNotification 和最相关的 WebViewProgressFinishedNotification。在我的代码中,我观察通知,然后确保我在下一个运行循环上调用完成的方法,即。与 [self PerformSelector:..withDelay:0] 或dispatch_async。

关于cocoa - 如何知道 WebView 何时完成渲染?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12120772/

相关文章:

objective-c - 如何从 OS X 中的设备 ID 知道设备的名称?

ios - 以秒为单位的 UTC 到本地时间

cocoa - 在 Cocoa 中向窗口标题栏添加辅助文本?

cocoa - 具有弱引用的 NSMutableDictionary : warning when using CFRetain as a callback

java - Android WebView 中的 HTML TextArea 字符数限制

ios - 使用 wkWebView iOS 10 打印预览问题

JavaScript 未在 WKWebView 中执行

android webview 捕获错误的 url

css - Webkit 浏览器中的 SVG 高度计算不正确

macos - 使用窗口调整 WebView 的大小