检测WebExtension的manifest.json中的导航器



我目前正在处理webextension,我有一个小问题。在我的Firefox浏览器上,我可以在没有任何错误/警告的情况下导入和运行工作。但是,使用Google Chrome,我对未实现的功能有很大的警告(browser_style manifest.json密钥options_ui的属性)。

我想创建类似于基于导航器名称的语句之类的东西,以在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)在评论中所暗示的那样, subtest.json 文件是直接的json格式化数据。JSON没有运行代码的功能。没有可能在您的 subtest.json 文件中动态定义属性。您有2个选项:

  1. 与警告一起生活。
    Chrome和Firefox都有针对 subtest.json 文件定义的有效属性,而另一个文件不支持。两者都显示出不受支持的属性时。这些是仅警告,不会导致浏览器防止扩展运行。Chrome在 chrome中突出显示这些内容://Extensions/。Firefox在浏览器控制台(CTRL-SHIFT-J或OSX上的CMD-Shift-J)中显示它们。
  2. 有一个单独的 subtest.json 每个浏览器文件。
    这为您的构建/开发过程增加了一定的复杂性,但您可以在每个浏览器中消除这些警告。

注意:即使您不提交不同的 subtest.json 文件,向Google(Chrome Web Store -Extensions)和Mozilla(AMO)(到达扩展程序包分配给用户时), subtest.json 文件和扩展程序包的其他内容将有所不同,因为从提交到发行的过程中,该文件中的分发结果和/或将添加到扩展程序包中的其他文件。。

相关内容

  • 没有找到相关文章

最新更新