ecshop jquery冲突解决方法
作者:【ECSHOP二次开发】 时间:2013-06-15 教程来源: ECSHOP二次开发-ECSHOP二次开发教程-ECSHOP教程
ECSHOP教程网
教程导读
分享到
ECSHOP与JQUERY冲突的问题由来已久,网上很多解决方法比较繁琐,而且在某些地方还会出错,如产品比较功能等,本文中的方法结合了网上最新公开文章与本人实际开发的经验,基本上可完美解决ECSHOP与JQUERY的冲突。经测试,兼容ECSHOP原有所有的功能,包括产品比较功能,而且修改步骤简单明了:
1、修改文件:/js/transport.js
在文件最底部增加代码:
if (Object.prototype.toJSONString){var oldToJSONString = Object.toJSONString;Object.prototype.toJSONString = function(){ if (arguments.length > 0){return false;} else {return oldToJSONString.apply(this, arguments); } } }
2、修改文件:/js/compare.js
查找代码:
this.timer = window.setInterval(this.relocation.bind(this), 50);
修改为:
this.timer = window.setInterval(this.bind(this.relocation,this), 50);
查找代码:
lastScrollY : 0
在代码上面一行增加代码:
bind : function(obj1,obj2) {return function() {obj1.apply(obj2, arguments);} },
3、在以下模板文件中,找到嵌入global.js文件的代码,删除嵌入global.js
brand.dwt
brand_list.dwt
category.dwt
exchange_list.dwt
search.dwt
4、下载最新版的jquery库文件到模板目录中,如:
/js/jquery.1.5.2.js
如果你的模板中没有对应目录,则新建目录拷入jquery文件即可
5、修改文件:/themes/temlatename/library/page_header.lbi
在顶部加入代码:
<script src="/js/jquery.1.5.2.min.js" type="text/javascript"></script>
<script type="text/javascript">jQuery.noConflict();</script>
注意,以后调用JQUERY对象用jQuery,不要用$,因为一个$与ECSHOP原有的函数同名有兼容问题。
6、修改完毕!放心使用你的JQUERY特效吧