【发布时间】:2014-03-06 23:21:31
【问题描述】:
首先:这与“如何自动转换chrome扩展”没有重复...
我编写了一个非常流行的复杂 chrome 扩展。所以很多人要求我发布一个Firefox - 版本。
我目前处于分析可能遇到的困难的早期阶段。我能够将大多数特定于 chrome 的命令映射到 Firefox 中的其他命令。
到目前为止,只有一个主题尚未解决: Chrome 使用内容脚本和后台脚本。
通信是这样进行的: 内容脚本:
chrome.runtime.sendMessage(
{
Action: "LoadAll"
}, function(response)
{
mySetting= response.Setting;
}
);
背景脚本:
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse)
{
if (request.Action === "LoadAll")
{
sendResponse({Setting: "hello out there!"});
return true;
}
)
});
(如果我可能遗漏了括号,请忽略)
这种通信是如何在 Firefox 扩展上进行的?还是 FF 推荐一种完全不同的方法?
如果没有“接受此命令” - 答案,一个更深入的解释的链接会很好。
【问题讨论】:
-
我假设你想做一个 Fiefox SDK 插件?请修复标签。
-
@Blargh 好像不是这样。
-
这到底是做什么的?就像 HTML DOM 中是否有一个按钮,并且您希望它 onclick 来触发插件内部的功能?如果是这种情况,请告诉我我有一些解决方案给你。
-
@Noitidart 更多。扩展有一个选项菜单,我可以在其中输入一些属性。然后在我操纵的“正常”网站中需要这些设置(只是所发生操作的一个示例)
-
“内联选项”是 Firefox 的小菜一碟。所以总结一下你的插件,它是一些选项,然后是某个主机的页面加载?某些href?你注入/操纵它?