我有一个包含 WKWebView
的混合 iOS 应用程序,我有一个 JavaScript 函数 callNative
可以在主线程中调用 Objective C native 代码。
在我的 JavaScript 中,我有以下结构
modifyDOM(); // e.g. .show(), and .hide() stuff
callNative('animateWKWebViewFrame');
出于某种原因,animateWKWebViewFrame
( native 代码)在 modifyDOM
完成并完全呈现之前被调用。 (这会导致视觉故障。)
如何在调用 native 代码之前强制完整呈现 DOM 修改?
最佳答案
我假设您正在使用 jQuery,因为您的评论说 modifyDOM
调用 show()
和 hide()
。如果是这种情况,那么您应该依靠 complete
参数来提供一个函数,该函数将依次调用您的 native 代码。
相关文档在这里:
http://api.jquery.com/hide/#hide-duration-complete
http://api.jquery.com/show/#show-duration-complete
最后,这里是一些示例代码:
function modifyDOM()
{
someElement.show(400, function() {callNative('animateWKWebViewFrame');});
}
关于javascript - WKWebView 在触发 native 代码之前等待 DOM 渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29985506/