【问题标题】:Unrecognized manifest key 'applications'. warning for Google Chrome无法识别的清单键“应用程序”。谷歌浏览器警告
【发布时间】:2016-05-10 00:09:07
【问题描述】:

我已经为 Firefox 创建了使用 Chrome 扩展 API 的 Web 扩展。

但 Firefox 需要 application 键入 manifest.json

https://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json

如果我为 Google Chrome 加载相同的扩展程序,Chrome 会发出警告:

There were warnings when trying to install this extension:
Unrecognized manifest key 'applications'.

虽然扩展有效,但我不确定是否可以使用此清单文件将 Firefox Web 扩展发送到 Google Chrome 商店。

我可以为 Google Chrome 创建另一个项目,但我想保留一个文件夹,该文件夹可以同时适用于 Firefox 和 Google Chrome,而不会出现任何警告。

我应该如何在保持 Firefox 要求的同时修复此警告?

【问题讨论】:

    标签: google-chrome firefox google-chrome-extension chrome-web-store firefox-addon-webextensions


    【解决方案1】:

    您可能希望生成单独的清单文件,即使其他所有内容都未更改。毕竟,文档状态:

    applications。仅在 Gecko 中受支持。

    我的建议是一个构建脚本,它可以复制每个版本的文件和正确的清单(或者如果您愿意,可以动态生成正确的清单)。

    【讨论】:

    • 虽然我理解这个答案,但对我来说他们没有在同一页面上似乎很愚蠢。要么 Google 应该接受并忽略它,要么 Firefox 应该没有它。
    • @JeffG 据我所知,这只是早期版本的 WebExtension 支持的问题。引用:""applications" 在 Google Chrome 中不受支持,在 Firefox Firefox 48 之前 中是强制性的。"
    • 除了@Xan 的评论,这里的来源指出,applications 键现在是强制性的:developer.mozilla.org/en-US/Add-ons/WebExtensions/…
    • 我想知道是否有一个“构建脚本”示例,可以让您的扩展成为适用于 chrome、firefox、opera 和 ie 的正确形式
    【解决方案2】:

    运行 68.0b13(64 位),我只是删除了“应用程序”键和正文

    //  "applications": {
    //      "gecko": {
    //          "strict_min_version": "58.0a1"
    //      }
    //  },
    

    没有它也能正常工作。

    Documentation 说:

    请注意,开发和调试不包含 ID 的 WebExtensions 的功能是 Firefox 48 中的新功能。如果您需要使用早期版本的 Firefox,则必须使用应用程序密钥明确设置 ID。

    我对此的解释是 >= Firefox 48 不需要“应用程序”键。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-17
    • 1970-01-01
    • 2017-02-19
    • 1970-01-01
    • 2018-07-14
    相关资源
    最近更新 更多