gpt4 book ai didi

javascript - 为什么 page-mod 模块中的 onAttach 没有在 Firefox add-on sdk 中执行?

转载 作者:行者123 更新时间:2023-12-01 17:45:41 25 4
gpt4 key购买 nike

我正在编写一个 Firefox 插件,它使用 context-menupage-mod模块。

当上下文是输入控件时,此附加组件会向上下文菜单添加一个新菜单项。单击菜单项时,我向服务器请求获取一些数据并将结果推送到 page-mod 正在使用的内容脚本。

由于某种原因,onAttach 函数没有被调用。控制台中没有错误。我不知道为什么它没有被调用。这就是我正在做的事情。

var data = require("self").data,
contextMenu = require("context-menu"),
request = require("request").Request;

var workers = [];
var pageMod = require("page-mod");
pageMod.PageMod({
include: '*',
contentScriptWhen: 'ready',
contentScriptFile: [data.url("jquery-1.8.2.min.js"), data.url("varnam.js")],
onAttach: function(worker) {
console.log("onAttach");
workers.push(worker);
worker.on("detach", function() {
var index = workers.indexOf(worker);
if (index >= 0) workers.splice(index, 1);
});
}
});

任何解决此问题的帮助都会很棒。完整代码可用here .

最佳答案

当 url 模式以(或只是)星号开头时,它将与采用 httphttpsftp< 方案的 url 进行匹配.

由于您的测试页面位于数据目录中,因此其 url 方案为 resource。这就是 PageMod 没有被触发的原因。

您可以通过执行类似的操作来添加测试页面网址

var varnam = pageMod.PageMod({ 
// blah blah
});

varnam.include.add(data.url("test.html"));

关于javascript - 为什么 page-mod 模块中的 onAttach 没有在 Firefox add-on sdk 中执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13786558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com