Firefox附加SDK及其兼容性?

时间:2014-06-20 06:59:19

标签: firefox firefox-addon firefox-addon-sdk

Add-on SDK 1.16软件包中的

install.rdf附带最低版本的Firefox为21.0。我将其更改为13.0并开发了一个附加组件,但它仍然与21.0以下版本不兼容。

这是否意味着无法修改最低版本?

如何开发附加SDK 1.16(或最新版本)的附加组件,该附加组件至少与Firefox 13.0兼容?

1 个答案:

答案 0 :(得分:3)

旧版本的Firefox并没有在Firefox中发布SDK;而是在附加XPI文件中附带的库。

由于SDK库依赖于许多不断变化的Firefox内部构件,通常是过去常见的东西,因此SDK团队必须决定在层之间添加兼容性以支持各种各样的旧库。 Firefox版本,或者改为限制兼容性层的数量,并且仅支持一些最近(当时)Firefox版本。他们做了后者,因此SDK通常只正式支持当前和一两个以前的Firefox版本(对于没有自己发布SDK的Firefox版本)。

由于SDK库现在与Firefox捆绑在一起,因此这不再是一个问题。而你所观察到的minVersion 21来自IIRC:Firefox 21是第一个与稳定的SDK库捆绑在一起的Firefox版本。

所以这一切意味着你不能使用SDK 1.16而只是弄乱minVersion 。 SDK库与旧的Firefox版本完全不兼容,事情会破裂。您可以使用支持Firefox 13的旧SDK版本,但随后您的加载项将无法与更新的Firefox版本一起使用。 此外,自SDK 1.15起,SDK生成的XPI甚至不再将SDK库捆绑在XPI中......这并不重要,因为即使捆绑了SDK库,它们仍然无法正常使用旧的Firefox版本

实际创建可在旧版Firefox中以及最近的Firefox版本中使用的附加组件的唯一方法是首先不使用SDK,而是创建常规的XUL覆盖和/或引导附加组件并自己提出兼容性层。