我想将我的所有扩展程序升级到版本2,但仍然可以向仍然安装旧版Chrome的用户保持向后兼容。
由于目前不支持多个清单版本,我想知道哪个是支持"manifest_version": 2
及其属性的Chrome的最低版本。
答案 0 :(得分:1)
在Chrome 18中引入了清单v2。使用Manifest版本2将several requirements添加到扩展名,最重要的是:
<script>
标记加载外部JavaScript文件,并且不允许执行通过字符串创建的JavaScript代码:内联事件侦听器,内联脚本, eval
等。web_accessible_resources
字段在空列表中启动,因此默认情况下所有资源都被列入黑名单。"background_page"
清单条目变得不可用(由"background"
+ "scripts"
或"page"
取代。 Manifest 2还允许使用某些API for example the chrome.storage
API。当遗漏清单v2时,this message将显示在您的扩展程序下方。
除了最后一条评论之外,所有这些要求都会导致更严格的Chrome扩展程序编码指南(与清单v1相比)。
"background": {"scripts": ["..."]}
(和"page"
)与Chrome 17及更低版本向后兼容,因为它是introduced in Chrome 18。请改用"background_page": "background.html"
。如果您不使用背景页,则只能 使用所有Chrome版本的一个扩展程序。在其他情况下,无法实现这种混合(清单v1 + v2兼容)扩展。
如果您打算分发两个不同的扩展名,请在清单文件中设置"minimum_chrome_version": "18"
。不要忘记提及旧版浏览器扩展程序的位置。