Chrome扩展程序清单2和1,兼容性

时间:2012-10-02 08:15:46

标签: google-chrome-extension manifest chromium

我有一个我最近升级到清单版本2的扩展。为此,我删除了清单文件中的background_page属性,并将其替换为background: {page: "background.html"}。这很有效,一切都很好。然而,事实证明,有浏览器和人员使用旧版本的Chrome,或者Rockmelt和其他基于Chromium的浏览器版本不支持background - 属性或manifest_version: 2爱好。

一个简单的解决方案是将background_page: "background.html" - 属性添加到清单文件中,以及background - 属性。这会在chrome://extension开发人员模式中发出警告:

There were warnings when trying to install this extension:
     'background_page' requires manifest version of 1 or lower.

我的问题是:两者都会产生负面影响吗?例如,background_page被弃用时会发生什么?我的用户会看到任何警告吗?有什么想法吗?

2 个答案:

答案 0 :(得分:43)

您应该将“background_page”替换为“background”。

像:

"background": "background.html"

而不是:

"background": {"page": "background.html"}

答案 1 :(得分:4)

即使在manifest.json中有未记录,已弃用或实验性的属性也会发出警告,这些警告只有在“开发者模式”处于活动状态时才可见。它们不会影响最终用户。在我的选项中,您可以将background-page:保留在清单中。

您还可以考虑使用minimum_chrome_version阻止使用旧浏览器的用户下载您的最新更新。这有点太晚了(因为你发布了manifest_vesion: 2更新)但你可以在这里做一个小技巧。降级至manifest_version: 1,等待所有人下载降级版本,然后再次使用manifest_version: 2推送更新,这次添加minimum_chrome_version: 18