Mozilla Add-Ons拒绝jQuery(尽管没有被修改)

时间:2017-08-21 14:03:00

标签: jquery firefox-webextensions amo

(注意,这是我遇到的问题的自答案Q& A)

尝试向Mozilla Add-Ons提交WebExtension以进行公开列表后,审阅者拒绝了提交内容,并提供以下消息:

  

您的加载项包含的JavaScript库文件与我们已知的任何版本都不匹配。我们要求所有加载项都使用未修改的发行版本。

     

我们接受从'ajax.googleapis.com','jquery.com'或'jqueryui.com'下载的JQuery / JQuery-UI库;并且未经任何修改即使用(已下载且未复制粘贴)。缩小版本更好。 (文件名更改无关紧要)

     

对不起,我们无法接受修改,重新配置或自定义的库。

同一问题的另一个症状:来自jQuery的初始验证中的几个“对innerHTML的不安全分配”警告。

enter image description here

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

1 个答案:

答案 0 :(得分:7)

事实证明,即使您不手动修改文件,也可能会遇到git为您执行操作的情况。

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

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

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

  1. 在文件夹链中的某处添加.gitattributes文件,直到jQuery所在的位置,并假设jquery.min.js是文件名:

    jquery.min.js -text
    
  2. 用新下载的jQuery替换jQuery的副本,并与.gitattributes一起提交。

  3. 对所有缩小的库进行操作可能是个好主意。

    如果识别出库版本,验证将显示以下通知:

    enter image description here