Google chrome extension 将Google Chrome扩展转换为Firefox或Safari扩展

Google chrome extension 将Google Chrome扩展转换为Firefox或Safari扩展,google-chrome-extension,firefox-addon,safari-extension,safari-web-extension,Google Chrome Extension,Firefox Addon,Safari Extension,Safari Web Extension,是否可以将Google Chrome扩展转换为Firefox或Safari浏览器扩展?Chrome和Firefox附加组件基本上都基于JavaScript核心,但Firefox在设计上更具可扩展性。Gecko引擎和XUL(Mozilla的XML用户界面语言)允许您在使用扩展时有更大的自由度,而Chrome(和WebKit)则试图对其“应用程序”的工作进行沙箱处理 所以,是的,一个Chrome扩展几乎肯定可以被做成一个Firefox扩展,只要Firefox为您尝试做的任何事情提供一个API。只需将

是否可以将Google Chrome扩展转换为Firefox或Safari浏览器扩展?

Chrome和Firefox附加组件基本上都基于JavaScript核心,但Firefox在设计上更具可扩展性。Gecko引擎和XUL(Mozilla的XML用户界面语言)允许您在使用扩展时有更大的自由度,而Chrome(和WebKit)则试图对其“应用程序”的工作进行沙箱处理

所以,是的,一个Chrome扩展几乎肯定可以被做成一个Firefox扩展,只要Firefox为您尝试做的任何事情提供一个API。只需将Chrome的DevTools SDK特定内容替换为SDK特定内容(例如系统调用或在扩展中执行的任何其他操作)


另一方面,相反的情况并不总是如此。根据Firefox扩展中的功能,它不能总是转换为在Chrome中工作。

我为Safari和Firefox创建了ChromeAPI。我已经使用这些翻译API将一个相当大的扩展转换为Safari和Firefox。我看到很多人询问在浏览器之间转换扩展的可能性,我希望有人能帮助我用几种方法和一个任务运行程序来补充API,以自动转换。目前有一些手工工作要做

在我第一次写这篇文章之后,我已经知道了另外两个非常相似的项目


Mozilla正在开发他们的产品。他们说,通过API将附加组件移植到其他浏览器和从其他浏览器移植附加组件应该更容易。

GitHub上有一个积极维护的项目,允许使用Chrome扩展API编写Safari扩展,请参阅

Google Chrome、Firefox和Edge共享相同的扩展API,而Safari扩展则朝着不同的方向发展,需要开发人员使用不同的API集,部分还需要使用Swift而不是JavaScript

Topee项目为Safari提供了Google Chrome扩展API,允许您在所有浏览器上运行单个代码库

该API已经足够完整,可以在生产环境中运行,例如为Mac提供的带有Avast密码的扩展


自Safari 14/MacOS 11/MacOS 10.16/2020年起,Safari将在该条款下采用Chrome/Firefox扩展API。这里描述了一个转换器。

Mozilla现在提供了这个工具来测试chrome扩展与Firefox的兼容性。当您提交.crx文件时,它会向您提供一份关于发现的兼容性问题的报告

您可以在chrome浏览器中创建.crx文件

更多资源
chrome与Mozilla的不兼容性:

移植Google Chrome扩展:

我想你得试试看,才能确定。你的项目很有趣。我们真的需要它。我希望你能找到帮助。如果你能成功,请更新这个主题。@user3717718克里斯蒂安,这是个好主意。我知道已经很多年了,但是这个代码还能用吗?你有没有可能对自述文件稍加润色?这是关于如何使用WebExtensions将Chrome扩展转换为Firefox插件的官方指南-请查看这里。