pageMod似乎没有工作

时间:2012-09-13 13:50:57

标签: javascript firefox-addon

我目前正在进行Firefox扩展,但是当我浏览特定网址时,我无法运行该功能。

在我的chrome.manifest中,实际文件系统中的overlay chrome://browser/content/browser.xul chrome://boxcutter/content/overlay.xulcontent/位于chrome/content/(我使用了扩展生成器)。

所以我假设我可以在overlay.xul中使用脚本标记来引用包含我的pageMod函数的main.js文件。

我的pageMod功能是(我可能在这里塞了一些东西,以及为什么这不起作用):

(function() {
    var pageMod;
    pageMod = require('page-mod');

    new pageMod.PageMod({
        include: ["http://battlelog.battlefield.com/bf3/*"],
        contentScriptFile: data.url('boxcutter.js')
    });
}).call(this);

当用户访问Battlelog时,这应该调用我的boxcutter.js文件,但似乎没有任何事情发生。有一次,我认为我在boxcutter.js中使用的JS不能正常工作,但是在添加alert('test');并刷新页面后,没有任何反应。

这让我相信我的overlay.xul文件出了问题,但是我可以通过Battlelog网站上的Firebug调用jQuery函数(我知道事实上没有jQuery库,因为我查了一下。)

因此,我认为我的pageMod脚本(上面)出现问题,但是我在编写pageMod脚本时没有正常工作或者我做错了。

1 个答案:

答案 0 :(得分:2)

page-modFirefox Add-on SDK提供的模块 - 这是用于构建扩展的框架。如果您不使用该框架(并且鉴于您正在讨论chrome清单和覆盖,您显然没有),那么您显然无法使用其功能。如果您希望使用经典扩展程序,那么您可能希望在叠加层中add a handler for the DOMContentLoaded event,检查网页是否符合您的条件,然后对其执行某些操作。