JavaScript setTimeout没有调用函数是某些情况

时间:2017-10-13 18:59:59

标签: javascript jquery

我正在编写一个简单的chrome扩展,但在使用setTimout函数时遇到了麻烦。我的js脚本看起来像这样:

console.log('Page loaded!');
setTimeout(execExtention,500);
function execExtention(){
    console.log('Exec script after delay');
    ...
}

打开网页后,在控制台中我会收到消息"页面已加载!"和#34;延迟后执行脚本" - 好的,但是一旦我在页面上按下SAVE按钮(它进行AJAX调用并重新加载iframe),我只会加载页面!"由于某种原因,setTimeout不会执行execExtention。如果我改为" setTimeout(execExtention(),500)",那么我得到两个消息,但是第二个消息没有任何延迟(就像它应该因为"()") 。有人可以解释一下可能导致这个问题发生的原因,为什么函数没有在setTimeout中执行? 我尝试使用setTimeout的原因是因为在加载所有帧或重新加载某些帧后,我找不到执行脚本的工作解决方案。 $(document).ready(...),$(window).on(' load' ...)对我来说似乎不起作用。

0 个答案:

没有答案