firefox扩展内容脚本没有为多个页面重新加载?

时间:2016-02-07 17:54:18

标签: firefox-addon-sdk

我使用firefox addon sdk,我开发了一个扩展,我有内容脚本问题我想在多个页面中包含内容脚本在同一个网站whitout重载脚本,使用pagemod我们可以包含所有匹配模式的脚本:< / p>

pageMod.PageMod({
    include : "*.mywebsite.com",
    contentScriptWhen: "ready",
    contentScriptFile : "myscript.js"
});

但我找不到在多个页面中加载myscript.js的方法(例如:mywebsite.com/page1或mywebsite.com/page2)whitout reload myscript.js?

1 个答案:

答案 0 :(得分:0)

每次打开选项卡/窗口时,pageMod都会加载脚本,刷新页面或更改网址并匹配包含中的要求。

您可以尝试使用标签api。从设置我快速拼凑,如果页面刷新,将重新加载,手动输入网址,但不是当用户点击链接时。

在“index.js”文件中

var self = require('sdk/self');
var data = require("sdk/self").data;

var tabs = require("sdk/tabs");
tabs.on('ready', function (tab) {
    var url = tab.url;
    if(url.indexOf('https://www.facebook.com') != -1){
        tab.attach({
            contentScriptFile: ['./index.js']
        });
    }
});

在内容脚本文件中,我有一个计时器输出到控制台。

var cnt = 0;
setInterval(function(){
    unsafeWindow.console.log(cnt);
    cnt++;
}, 1000);