繁体   English   中英

firefox扩展从内容脚本调用addon函数

[英]firefox extension call to addon function from content script

我想从内容脚本运行插件函数[main.js] .i阅读firefox文档,但它不适用于我。这是关于脚本之间通信的官方文档https://developer.mozilla.org/en-US/Add -ONs / SDK /指南/ 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(“工作”); 这个输出。但它没有用。可能有人帮助我,我真的很困惑..我实际上想从listen.js调用main.js函数。

main.js没有self.port ,内容脚本也没有。 main.js您需要使用端口来启动内容脚本。 例如, PageMod文档有更多。

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");
    });
  }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM