【发布时间】:2012-11-07 05:43:01
【问题描述】:
我正在使用 webview 加载来检测页面何时加载,但我需要它只触发一次,但它会触发很多次我想出了下面的解决方案让它触发一次,但这只会发生一次只有我需要在每次加载页面时触发它,但只有一次示例。
webviewload = true;
webview.addEventListener('load', function() {
if(webviewload){
//run code to add stuff to webview this will run once
webview.remove(oldsidebar);
webview.add(newsidebar);
webviewload = false;
}
});
以上对于一个 webview 加载工作正常,但如果你再次运行它显然设置为 false,所以我只能运行此代码一次。 我发现了一种对我有用的 hack,但我正在寻找一种更好的解决方案,我理解它的触发,因为它会触发 webview 上的每个元素加载广告等。
webviewload = true;
webview.addEventListener('load', function() {
if(webviewload){
//run code to add stuff to webview this will run once
webview.remove(oldsidebar);
webview.add(newsidebar);
webviewload = false;
}
setTimeout(function(){
webviewload = true;
},5000)
});
上面的工作正常,但如果页面加载时间超过 5 秒等我遇到问题,则不理想。 谁能给我一个关于如何触发 webview 加载然后重置的建议,以便我可以正确运行代码块。 希望这是有道理的谢谢
【问题讨论】:
-
你的所作所为很奇怪,看起来不标准。
load事件仅在加载内容时触发。你为什么要保留一个布尔值来跟踪这个?为什么只需要在加载时添加sidebar视图?