1

我想强制FastDial兼容新的 Firefox 4.5.0.1 和其他扩展。

我过去做了很多插件,我知道程序... xpi 只是一个 zip 文件,当提取它们的内容时,你会发现一个名为Install.rdf的文件,其中包含以下行:

<em:maxVersion>X.0</em:maxVersion>

然后设置所需的版本,重新压缩 Zip,并将 .zip 扩展名更改为 .xpi。

但是,该方法不适用于 Firefox 45.0.1 (x86)。

这是尝试使用已知方法安装重建的 xpi 时总是发生的情况:

在此处输入图像描述

上图的西班牙语错误消息说:

此插件无法安装,因为似乎已损坏。

那么......这个该死的 Firefox 4.5.0.1 不接受我们重建的插件有什么变化?

更新

我注意到问题出在 Install.rdf 文件上,如果我不更改<em:maxVersion>...</em:maxVersion>,那么我可以正确地重新压缩包,并且这个新的 Firefox 可以识别它。

那么我需要如何编辑 Install.rdf 文件以避免“破坏”这个新 Firefox 的 xpi 包?

我尝试使用 Wordpard 编辑 rdf 文件,我还尝试了 Sublime Text,使用和不使用 BOM(UTF-8)保存文件,并重新压缩我使用 WinRar 的包(我一直使用 WinRar 来做),保存当然,它是 Zip,而不是 RAR。

4

1 回答 1

2

Mozilla 为 Firefox 分发的所有扩展都由 Mozilla签名。包含签名的文件META-INF位于扩展的顶级目录中的目录中。这些签名文件用于验证扩展名没有被 Mozilla 审查和分发的内容修改。

要克服您看到的错误,您需要删除该目录及其内容。

然后,您将遇到扩展未签名的问题。Firefox 会因为这个原因拒绝加载它。对此的快速解决方案是设置xpinstall.signatures.requiredfalsein about:config。但是,这只会在 Firefox 的发布版测试版中有效,直到下一个版本更新,或者如此。何时确切更改该选项将不再起作用尚不清楚。在 Firefox 的发行版和测试版中关闭该选项的可用性一直是一个不断变化的目标,但这种变化很快就会到来。该选项应该在Firefox开发者版中继续有效。

除了这些选项之外,您还需要拥有由 Mozilla 签名的扩展,该扩展是您通过进行任何更改创建的。您必须将其视为一个新扩展(即您必须为其创建一个新 ID)。一些有助于确定扩展退出的资源(这将是一个不同的问题)是:

于 2016-04-04T09:00:57.617 回答