chrome扩展中的多个document.onload功能

时间:2019-01-23 20:11:55

标签: javascript google-chrome-extension firefox-addon google-chrome-devtools

我正在开发chrome扩展程序,但我有以下要求。

必须执行2个内容脚本,并且两个内容脚本都具有document.onload功能。加载扩展程序时,只有两个内容脚本中的一个正在执行。

详细信息: 比如说1.js是一个内容脚本,当打开xyz.com页面时必须将其关闭。 2.js是另一个必须在xyz.com,abc.com等上执行的内容脚本。

问题: 加载xyz.com页面时,如果2.js被触发,则1.js中的内容将不会执行,反之亦然。

这种情况下有什么解决方法吗?

请让我知道是否需要其他信息。

1 个答案:

答案 0 :(得分:-1)

仅触发一个,因为一个优先于另一个。尝试改用 addEventListener

document.body.addEventListener('load', function() {
   // your code
});

多次设置此项不应像onLoad函数那样覆盖以前的引用。

在脚本文件中,您可能需要将其包装在一个自调用函数中,以确保在加载正文之前已对其进行设置。

(function() {
    document.body.addEventListener('load', function() { 
        console.log('Inside the 1.js page'); 
        fillDetails(); 
    }); 
})();