导航
点击关闭

解决ECShop对象不支持此属性与jQuery发生冲突的问题

2014-03-02 13:16:49   稿源: 一商设计
我们经常在对ECShop做二次开发的时间会遇到用户要求引入jQuery的想法,由于ECShop默认是不能直接引入jQuery的,也就是说引入jQuery会导致冲突,浏览器左下角状态栏会出现“

我们经常在对ECShop做二次开发的时间会遇到用户要求引入jQuery的想法,由于ECShop默认是不能直接引入jQuery的,也就是说引入jQuery会导致冲突,浏览器左下角状态栏会出现“ 对象不支持此属性”的提示,那么,该如何解决此问题呢,下面我们就介绍一下如何解决ECShop与jQuery冲突的问题,方法其实是很简单的,只是部分新手对ECShop不是很了解的情况下,难免会走些弯路,我们对ECShop常见问题都会进行一系列的整理,并发布在我们的官方网站上,以帮助用户快速解决问题。

找到js目录下的transport.js文件,到最后一行,换行增加代码:

复制内容到剪贴板折叠XML/HTML 代码
  1. //jquery冲突  
  2. if (Object.prototype.toJSONString){   
  3.     var oldToJSONString = Object.toJSONString;   
  4.     Object.prototype.toJSONString = function(){   
  5.         if (arguments.length > 0){  
  6.             return false;  
  7.         }else{  
  8.             return oldToJSONString.apply(this, arguments);  
  9.         }   
  10.     }   
  11. }  

同时修改js目录下的compare.js文件

查找:

复制内容到剪贴板折叠XML/HTML 代码
  1. this.timer = window.setInterval(this.relocation.bind(this), 50);  

替换为:

复制内容到剪贴板折叠XML/HTML 代码
  1. this.timer = window.setInterval(this.bind(this.relocation,this), 50);  

继续查找:

复制内容到剪贴板折叠XML/HTML 代码
  1. lastScrollY : 0  

在此行的上一行增加以下代码:

复制内容到剪贴板折叠XML/HTML 代码
  1.  //jquery  
  2.  bind : function(obj1,obj2)  
  3. {  
  4.       return function()  
  5.       {  
  6.         obj1.apply(obj2, arguments);  
  7.       }  
  8.   
  9. },  

接下来您需要找到每个模板页里的transport.js文件,并删除(记住,这一步一定要做)。

最后在library库目录里找到page_header.lbi,增加下面代码即可:

复制内容到剪贴板折叠XML/HTML 代码
  1. {insert_scripts files='transport.js,utils.js,jquery-1.4.2.min.js'}  
  2. <script type="text/javascript">    
  3. jQuery.noConflict();    
  4. </script>  

 最后,进入后台更新缓存,ECShop与jQuery冲突的问题就可以完全解决了。

ECShop二次开发、模板设计,请您联系QQ:24569985(一尚设计)

标签: ECShopjQuery
移动手机端
扫码二维码
返回顶部