gpt4 book ai didi

javascript - 如何检查 Javascript 何时完成

转载 作者:行者123 更新时间:2023-12-03 06:59:46 25 4
gpt4 key购买 nike

我们正在尝试将一些广告区域实现到 WordPress 的插件中。
由于某种原因,当插件调用它的谷歌地图 js 时,它会从页面中删除我的广告。我不明白为什么会这样,我们没有进一步深入研究他们的代码,而是决定采用一个更简单的解决方案。
我现在将广告加载到内容区域上方的隐藏 div 中,并在谷歌地图完成后将它们移动到位。目前我只是使用 setTimeout 来实现此目的,但是如果有一种方法可以测试页面是否正确加载,那就更好了。有点像 $(window).load(function(){} ,只不过不只是检查 DOM 是否已完成加载,还可以检查 javascript 是否已完成执行。

有没有办法检查这样的事情?否则也许是一种创建所有正在执行的 js 文件的输出的方法,这样我们实际上可以缩小谷歌地图工作的执行范围。

这是我们展示广告的函数:

$( window ).load(function() {
setTimeout(function(){
var a = [1,2,3,4];
a = shuffle(a);
for (var i = 0; i < 4; i++) {
if(document.getElementById("mrec"+i)){
$("#ad"+a[i]).appendTo($("#mrec"+i));
$("#ad"+a[i]).css({
'display': 'block'
});
}
}
},2500);
});

最佳答案

如果 map 插件返回一个值,您可以将其包装在 promise 中。 http://www.html5rocks.com/en/tutorials/es6/promises/ 。 Dojo 长期以来对 Promise 都有很好的支持。 https://dojotoolkit.org/documentation/tutorials/1.10/promises/

但是如果插件完成后没有返回任何内容,您可以执行类似的操作

    var howOftenToCheck = 200,
checkExist = setInterval(function() {
if(document.getElementById('mapDiv')) {
clearInterval(checkExist);
// do stuff now that map has loaded
}
}, howOftenToCheck);

关于javascript - 如何检查 Javascript 何时完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37105962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com