问题是您忘记调整兼容性范围,install.rdf
所以em:maxVersion
仍然在说3.1b2
(意思是 Firefox 3.1b2 - 一个相当旧的版本)。15.*
如果您想支持当前稳定的 Firefox 版本或者16.*
如果您想支持当前的 beta 版本,您应该将其更改为。您还可以更改em:minVersion
为更有意义的内容:我怀疑您是否会验证您的扩展是否仍然适用于 Firefox 2.0。
至于为什么不更改扩展 ID 会安装扩展,这就更复杂了。首先,兼容性范围有一个软覆盖机制,允许扩展作者更改兼容版本范围而无需发布新版本。在这种特殊情况下,Firefox 将通过请求此地址或类似地址来检查扩展更新。更新服务器告诉它 1.0 版仍然是最新的,但会调整maxVersion
到 Firefox 8.0 - 这个值将覆盖install.rdf
.
但这不是故事的结局。Firefox 10 中的兼容性检查机制发生了显着变化,现在默认假设是该插件与较新版本兼容,即使在任何地方都没有明确指定。要求是扩展不选择退出宽松的兼容性检查,不包含二进制组件并且至少与 Firefox 4 兼容。由于软覆盖,原始扩展与 Firefox 8 兼容,具有不同的扩展 ID但是它只与 Firefox 3.1b2 兼容(它不托管在addons.mozilla.org上,因此更新服务器不知道它),这意味着宽松的兼容性检查不适用于它。
供参考:上一段中描述的行为由extensions.strictCompatibility
,extensions.minCompatibleAppVersion
和extensions.minCompatiblePlatformVersion
首选项控制。