描述此 Pull Request 的变更

修复 头像上传工具与另外加载的jQuery极易产生冲突的问题

描述变更理由

由于jQuery的解决冲突机制的原因,默认的jQuery.noConflict()只会释放掉对$符号的占用,而jQuery名称则会始终释放到全局变量当中。
虽然默认情况下的确不会有其他的库给自己起名叫jQuery,但如果在同一个页面加载了多个jQuery的话,就会出现相互覆盖的情况,并引发出错,导致头像上传工具变得失效且不可用。
此问题可以通过让第三方插件使用jQuery.noConflict(true)来解决,但由于第三方插件和站点使用jQuery的历史过于悠久,几乎绝大多数人使用的时候都并不知道需要加这个参数。如果依赖第三方插件进行修改则工程过于庞大,不太现实。而如果让头像上传插件对jQuery进行改名的话也不太合适。

本PR采用了另一种方法,将自身调用的jQuery封闭在自身范围内,不再向全局释放任何jQuery相关变量。第三方插件和二次开发用户可以放心的使用jQuery了。(但依然不建议第三方插件直接占用jQuery名称,以免和其他插件再次产生冲突。)

对不向前兼容或涉及安全性变更的特殊说明

由于系统内js仍然在使用$的原因,应用本PR以后第三方插件依然必须在加载jQuery时运行jQuery.noConflict(),否则头像上传插件还是不能正常工作。

关联 Issue