我正在编写一个简单的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' ...)对我来说似乎不起作用。