尝试将WebExtension提交给Mozilla Add-Ons进行公开列表后,审阅者拒绝了提交,并提供以下消息:
Your add-on includes a JavaScript library file that doesn’t match any versions known to us. We require all add-ons to use unmodified release versions.
We accept JQuery/JQuery-UI libraries downloaded from ‘ajax.googleapis.com’,‘jquery.com’ or ‘jqueryui.com’; and used without any modification (downloaded and not copy pasted). Minified versions are better. (file-name change does not matter)
I’m sorry,but we cannot accept modified,re-configured or customized libraries.
同一问题的另一个症状:来自jQuery的初始验证中的几个“对innerHTML的不安全分配”警告.
解决方法
具体来说,CRLF行结尾的自动处理是修改jQuery的缩小文件,导致在以下情况下匹配失败:
>将jQuery下载到repo中.
>提交文件:此时可以修改行结尾.
>为AMO建立档案;由于文件已被修改,因此在审核中被拒绝.
为了防止这种情况发生,可以将jQuery文件标记为二进制文件,以便Git在任何情况下都不会触及它们,无论特定计算机/存储库上的设置如何.
>在文件夹链中的某处添加.gitattributes文件,直到jQuery所在的位置,并假设jquery.min.js是文件名:
jquery.min.js -text
>用新下载的jQuery替换jQuery的副本,并将其与.gitattributes一起提交.
对所有缩小的库来说,这可能是个好主意.