iOS代码webViewDidFinishLoad在JS代码window.onload之后
在iOS中,webViewDidFinishLoad委托
我愿意
self.jsContext = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
self.jsContext[@"enterplorer_home"] = self;
在本地HTML webView中。我已经下载了HTML。
window.onload = function(){
....
var userInfo = enterplorer_home.getInfo()?JSON.parse(enterplorer_home.getInfo()):{};
.....
}
我在Safari控制台中进行了调试。
一个错误告诉我:
ReferenceError:找不到变量:enterplorer_home
为什么iOS webViewDidFinishLoad执行得太晚了?
如何执行enterplorer_home
之前设置window.onload
。
答案 0 :(得分:0)
我不知道您正在做什么,但是一种解决方案是包装requestAnimationFrame并在其中执行onload内的操作:
window.onload = function(){
(function execute(){
if (window.enterplorer_home) {
....
var userInfo = enterplorer_home.getInfo()?JSON.parse(enterplorer_home.getInfo()):{};
.....
} else {
window.requestAnimationFrame(execute);
}
})()
}