Chrome扩展程序仅在当前页面加载完成后才能触发功能

时间:2016-01-04 11:20:14

标签: javascript jquery

我编写了一个扩展程序,要求页面完全加载才能正常工作。函数myLoop()是仅在页面完全加载后才应该触发的函数,我还想添加5秒的延迟。

这是我的代码:

function like() {
    step_delay_msec = step_delay * 1000;
    i = 0;
    console.log("Hello " + i);
    myLoop();
 var stepAll = setInterval(function () {
     i = 0;
    console.log("Hello " + i);
    myLoop();

}, step_delay_msec);
} 

注意:window.onload不起作用,因为在加载窗口后加载整页。元素稍后加载。

3 个答案:

答案 0 :(得分:2)

使用在加载页面后执行的window.onload()

window.onload = function() {
    myLoop();
};

请参阅:window.onload vs document.onload

答案 1 :(得分:2)

您只需在window.onload上调用函数并在此函数上设置间隔。

window.onload = function () { myLoop(); }

function myLoop(){
    setInterval(like(), step_delay_msec);
}

试试这个。

答案 2 :(得分:1)

在清单中使用chrome扩展程序,您可以写:

"content_scripts": [
  {
  "run_at": "document_end",  // after document loaded
  "js": ["content_script.js"]
  }],

这样,content_script.js将在文档加载时启动。

相关问题