我目前正在研究WebExtension,我遇到了一个小问题。在我的Firefox浏览器上,我能够导入并运行我的工作而不会出现任何错误/警告。然而,对于Google Chrome,我对未实现的功能(browser_style
key manifest.json
的options_ui
属性)发出了重大警告。
我想基于导航器名称创建类似if语句的内容,以便不在Chrome上设置此属性,而是将其保留在Firefox上。
这是我的manifest.json
的一部分:
"options_ui": {
"page": "contents/settings.html",
"browser_style": true
},
这是我想要的(不工作):
"options_ui": {
"page": "contents/settings.html",
if (options_ui.browser_style) {
"browser_style": true
}
},
关于如何在manifest.json
文件中创建这样的条件的任何想法?
作为Daniel Herr implied in a comment,manifest.json文件是直接JSON格式的数据。 JSON无法运行代码。无法在manifest.json文件中动态定义属性。你有2个选择:
注意:即使您没有向Google(Chrome Web Store - Extensions)和Mozilla(AMO)提交不同的manifest.json文件,在将扩展包分发给用户时,manifest.json文件和其他内容也是如此。扩展包将是不同的,因为从提交到分发的过程导致该文件被修改和/或其他文件被添加到扩展包。