install.rdf
附带最低版本的Firefox为21.0。我将其更改为13.0并开发了一个附加组件,但它仍然与21.0以下版本不兼容。
这是否意味着无法修改最低版本?
如何开发附加SDK 1.16(或最新版本)的附加组件,该附加组件至少与Firefox 13.0兼容?
答案 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覆盖和/或引导附加组件并自己提出兼容性层。