多个jQuery版本共存的处理方案

2020-05-18 09:02:06易采站长站整理

开始编写新的更好的解决方案。首先,把myscript.js的主体确定下来:


   // myscript.js
   (function () {
      // BEGIN
      // TODO: javascript code here…
      // END
   })();

用匿名函数是个好习惯,不污染全局变量,同时杜绝外部代码访问。

下一步是直接把jQuery 1.11的代码嵌进去:


   // myscript.js
   (function () {
      // BEGIN
      /*! jQuery v1.11.1 */
      !function(a,b){“object”==typeof module&&”object”==typeof module.exports?…
      if(k&&j[k]&&(e||j[k].data)||void 0!==d||”string”!=typeof b)return k||(k=…
      },cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(thi…
      var $ = jQuery.noConflict(true);
      // TODO: javascript code here…
      // END
   })();

嵌入的当然是压缩后的代码,一共3行,然后加一句:


   var $ = jQuery.noConflict(true);

注意到$是一个局部变量,在后面的代码中,可以随时引用这个$,跟页面上其他版本的jQuery全局变量$不是一个对象。

最后一步工作就是检查jQuery的协议是否允许我们把jQuery源码直接嵌入我们自己的JavaScript代码。

以上所述就是本文的全部内容了,希望大家能够喜欢。