pageMod没有'似乎不起作用

pageMod doesn't seem to be working

本文关键字:不起作用 没有 pageMod      更新时间:2023-09-26

我目前正在制作Firefox扩展,但当我浏览到特定的url时,无法运行该函数。

在我的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剧本时做错了什么。

page-mod是Firefox插件SDK提供的一个模块,这是一个用于构建扩展的框架。如果你不使用该框架(鉴于你谈论的是chrome清单和覆盖,你显然没有),那么你显然无法使用它的功能。如果你想继续使用经典的扩展,那么你可能想在覆盖中为DOMContentLoaded事件添加一个处理程序,检查页面是否符合你的标准,然后用它做点什么。