gpt4 book ai didi

javascript - 将 chrome 扩展移植到 firefox

转载 作者:行者123 更新时间:2023-11-29 22:03:32 33 4
gpt4 key购买 nike

首先:这不是“如何自动转换 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 推荐一种完全不同的方法?

如果没有“Take this command”- answer,最好有一个更深入解释的链接。

最佳答案

你要找的东西是Message Manager .我们正在为 Fx 开发一个大而复杂的扩展程序大约 2 年,最近为它制作了一个很好的 Chrome 端口。 Fx 和 Chrome 中的消息传递过程有很大不同。把它想象成你在窗口/浏览器/选项卡中注入(inject)一个内容脚本,这与 Chrome 中的内容脚本几乎没有共同之处,然后通过 sendSyncMessage/sendAsyncMessage 从注入(inject)的脚本与你的扩展代码对话。我希望这会有所帮助。

关于javascript - 将 chrome 扩展移植到 firefox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22238305/

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