Mozilla 附加组件拒绝 jQuery(尽管没有被修改)

问题描述 投票:0回答:2

(注意,这是我遇到的问题的自助问答)

尝试向 Mozilla 附加组件提交 WebExtension 进行公开列表后,提交被审阅者拒绝,并显示以下消息:

您的附加组件包含一个 JavaScript 库文件,该文件与我们已知的任何版本都不匹配。我们要求所有附加组件使用未经修改的发行版本。

我们接受从“ajax.googleapis.com”、“jquery.com”或“jqueryui.com”下载的 JQuery/JQuery-UI 库;并无需任何修改即可使用(下载而不是复制粘贴)。缩小版本更好。 (文件名更改并不重要)

很抱歉,我们不能接受修改、重新配置或定制的库。

同一问题的另一个症状:来自 jQuery 的初始验证出现多个“Unsafe assignment to innerHTML”警告。

但是,有问题的文件确实是从 jquery.com 作为发行版、缩小版本下载的,并且没有被故意修改。 那么发生了什么?

jquery firefox-addon-webextensions amo
2个回答
7
投票

事实证明,即使您不手动修改文件,您也可能会遇到

git
为您做的情况。

具体来说,自动处理CRLF行结尾是修改了jQuery的缩小文件,导致在以下情况下匹配失败:

  • 将 jQuery 下载到存储库中。
  • 提交文件:此时可以修改行结尾。
  • 为AMO建立档案;由于文件已修改,因此在审核中被拒绝。

为了防止这种情况发生,可以将 jQuery 文件标记为二进制文件,以便 Git 在任何情况下都不会触及它们,无论特定机器/存储库上的设置如何。

  1. 在 jQuery 所在文件夹链中的某个位置添加一个

    .gitattributes
    文件,并假设
    jquery.min.js
    是文件名:

    jquery.min.js -text
    
  2. 将 jQuery 副本替换为新下载的副本,并与

    .gitattributes
    一起提交。

对所有缩小的库都这样做可能是个好主意。

如果库版本被识别,验证会出现如下提示:


0
投票

使用此处列出的 AMO 哈希之一支持的 jquery 版本:

例如,AMO 已知 jquery.3.2.0.jquery.min.js:

  • 87083882cc6015984eb0411a99d3981817f5dc5c90ba24f0940420c5548d82de jquery.3.2.1.jquery.min.js

另外,请阅读此讨论

© www.soinside.com 2019 - 2024. All rights reserved.