Firefox中的Google Chrome扩展程序


14

与Firefox相比,Chrome具有更受限制的扩展API;它主要由内容脚本(带有背景页面)以及用于上下文菜单和弹出窗口等的几个钩子组成。因此,在我看来,Chrome API的非常重要的子集可以在Firefox中实现,既可以作为Firefox扩展,也可以作为单独的“扩展编译器”,例如存在Greasemonkey脚本(顺便说一句,这是另一个例子)与Chrome内容脚本的工作方式完全相同)。如果实施,这将允许大多数Chrome扩展程序在Firefox中安装和运行。

我在Google上搜索了一下,发现其中有多次 提及是很老的尝试,但是所有指向实际Mozilla存储库的链接现在都已失效。即使不是这样,如果这种早期的努力仍可用于Firefox 4或Chrome扩展API的最新更改,我会感到非常惊讶。

所以我的问题是,有人知道Firefox中的Chrome Extension API兼容性层的最新技术吗?是否有任何扩展程序或扩展程序编译器试图解决我提出的问题?


1
您提到的Firefox插件的源代码在BitBucket上
niutech

Answers:


7

如果有这样的野兽,甚至Mozilla开发人员都不知道!

许多Chrome“扩展名”只是Greasemonkey脚本,它们可以与Greasemonkey扩展名或Firefox上的编译器一起使用,而无需进行任何更改。

不幸的是,必须移植使用其他API的扩展。如果您想将Chrome扩展程序移植到Firefox,或打算为两者编写一个扩展程序,请查看Mozilla的新Jetpack扩展程序API,该API的设计工作原理与Chrome扩展程序的工作方式相似,但仍可提供原始Firefox API闻名的浏览器访问量大大增加。


在这种情况下,如何将Chrome扩展程序安装为GreaseMonkey脚本?(我认为大多数(或所有)Chrome扩展程序都使用.crx文件格式。)
Anderson Green

3

当Mozilla准备其下一代Servo引擎时,它还将逐步淘汰旧的附加技术(例如XPCOM和XUL),并引入新的技术,例如WebExtensions API,该技术“与Chrome和Opera使用的模型基本兼容—以便更轻松地跨多个浏览器开发扩展”。WebExtensions API尚不成熟,因此变化非常快。但是如果您打算将Chrome扩展程序移植到Firefox并着眼于未来,那么我建议您安装Firefox Nightly,并立即使用WebExtensions API。您可以在下面的链接中了解更多信息。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.