2

我使用 Add-on sdk 创建了一个扩展,它部分依赖于 page-mod。它一直运行良好。

但是,在某些时候(我不确定确切的时间,因为当它发生时我正在处理扩展的不同部分)页面模块停止工作。但是,代码没有改变。

我在运行我的扩展程序时使用 cfx 的 -p 选项(启动它时,我输入cfx -p firefox_development_profile run(有关更多信息,请参阅cfx 文档

当我包含配置文件目录时,我的内容脚本不起作用。当我不包含它时,它会包含它。因此,配置文件中的某些内容导致 page-mod 停止工作。

我制作了一个非常基本的 page-mod 插件,以查看我的代码中是否存在导致问题的东西,但它也有同样的问题。我的测试代码(在main.js是)

var data = require("sdk/self").data;
var pageMod = require("sdk/page-mod");
pageMod.PageMod({
    include: "*.org",
    contentScript: "alert('OPENED A MATCHING PAGE')",
    onAttach: function(worker) {
        console.log("Been attached")
    }
});

package.json的如下:

{
  "name": "test_firefox",
  "fullName": "Test Plugin",
  "id": "jid1-0yzmDwetD2My3g",
  "description": "An addon on to work with the Dalhousie Glossary System",
  "author": "Daniel Yule",
  "license": "MIT 2.0",
  "version": "0.1.0"
}

需要明确的是:此扩展在与 profile dir 命令一起运行时有效,cfx run但在与 profile dir 命令一起使用时无效cfx -p firefox_development_profile run

Firefox 配置文件中是否有某些内容(我不记得对其进行过任何更改)会导致 page-mod 停止工作?

4

1 回答 1

0

可能这是你的问题:

页面模组在加载或重新加载这些页面之前不会修改其页面。换句话说,如果您的插件在用户浏览器打开时加载,用户将不得不重新加载任何与模组匹配的打开页面,模组才能影响它们。

字体:http ://blog.mozilla.org/addons/2012/09/12/introducing-page-mods-attachto

于 2013-12-17T20:04:36.630 回答