Firefox在新的自托管扩展上显示来自MDN的过时信息



Firefox在新的自托管扩展上显示来自MDN的过时信息

我正在尝试将我正在开发的Firefox扩展从在MDN/mozilla.org上托管切换为自托管。这涉及到在install.rdf中添加一个指向我自己的服务器上的update.rdf的条目。

然而,我发现,如果一个给定的Firefox配置文件中安装了旧的、托管在MDN版本上的配置文件,它将继续从MDN中查找信息,而不仅仅是使用扩展插件install.rdf中包含的信息。这意味着显示在about:addons中的扩展插件信息不会过时。

下面是一个详细的演练:

  • 创建一个新的Firefox配置文件
  • 手动安装最新版本的Firefox扩展,方法是将其放入扩展/中,然后确认安装。这个扩展是自托管的:它在install.rdf中设置了一个updateURL
  • 转到about:addons,确认显示的关于插件的信息是来自扩展的install.rdf的信息。(描述、创建者等)
  • 卸载扩展
  • 通过插件管理器接口从MDN安装旧的非自托管版本的扩展
  • 转到about:addons,确认显示的关于扩展的信息是来自MDN的信息。(描述、创建者等)搜索包含此扩展版本的所有文件,以确保显示的信息绝对不包含在其中,因此来源于MDN
  • 卸载此版本的扩展
  • 再次安装新的自托管版本的扩展,方法是将其放入扩展/并用Firefox确认安装
  • 转到关于:插件。请注意,显示的信息仍然来源于MDN,尽管这是自托管版本。具体来说,创建者和描述来源于MDN,而图标来源于install.rdf

Firefox似乎正在缓存有关扩展的信息,即使扩展已经卸载,并且一旦某个给定的扩展被发现托管在MDN上,它将继续从MDN获取信息,即使该扩展现在是自托管的。

除了在扩展的install.rdf中设置updateURL值之外,我还缺少一些步骤吗?这是Firefox中的错误吗?有变通办法吗?

默认情况下,Firefox从AMO获取附加组件的信息,并覆盖install.rdf.中的信息

因此,如果你已经将你的插件从AMO转移到了自托管,信息仍然会被检索到。

为了防止这种情况,您可以设置一个首选项:

pref("extensions.YOUR_ADDON_ID.getAddons.cache.enabled",false);

这将阻止Firefox从AMO获取有关您的插件的信息。

它可能不会立即对您生效,但应该在24小时内生效。

最新更新