gpt4 book ai didi

javascript - Firefox 扩展从内容脚本调用插件功能

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:17:18 25 4
gpt4 key购买 nike

我想从内容脚本运行插件函数 [main.js]。我阅读了 firefox 文档,但它对我不起作用。这是关于脚本之间通信的官方文档 https://developer.mozilla.org/en-US/Add-ons/SDK/Guides/Content_Scripts/using_port

这是我的 main.js 代码

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

var pageMod = require("sdk/page-mod");
pageMod.PageMod({
include: "http://mydomain/x.html",
contentScriptFile: data.url("listen.js")
});

self.port.on("myAddonMessage", function(myAddonMessagePayload) {
console.log("working");
});

这是我的 listen.js 内容脚本

var myContentScriptMessagePayload="hi"; 
self.port.emit("myContentScriptMessage", myContentScriptMessagePayload);

实际上我期待 console.log("working");这个输出。但它不起作用。有人可以帮助我吗?我在这里真的很困惑。我实际上想从 listen.js 调用 main.js 函数。

最佳答案

main.js 没有 self.port,content-scripts 有。在 main.js 中,您需要将端口与启动内容脚本的任何内容一起使用。例如。 PageMod documentation还有更多。

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

var pageMod = require("sdk/page-mod");
pageMod.PageMod({
include: "http://mydomain/x.html",
contentScriptFile: data.url("listen.js"),
onAttach: function(worker) {
worker.port.on("myAddonMessage", function(myAddonMessagePayload) {
console.log("working");
});
}
});

关于javascript - Firefox 扩展从内容脚本调用插件功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24585417/

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