彻底改正ecshop不兼容jquery的解决办法
2016-07-07 15:00 来源:www.chinab4c.com 作者:ecshop专家
文中涉及文件请下载附件jquery_ecshop.rar 方法来自:http://www.yodye.com/博客中也有大量ecshop效果修改文章 原因分析: 在transport.js文件中,大概 580行到590行之间,这个句用于格式化json,他重写了object的结构,导致于js框架冲突。冲突的原因是jquery给一个object增加了很多元素,那么在Object.prototype.toJSONString = function () 这个函数中 for (k in this) 语句中进行了无数次的循环,导致网页很卡,并且在IE中会报错。 解决方案: 根本的解决办法是不用transport.js中的json功能,那么就要有一个相同的功能来代替它,这里我选用jquery-json1.3.js。首先要把transport.js中的json功能删除。由于实现json功能的函数有区别,所以要麻烦改掉原ecshop中各个地方用到的toJSONString()函数。 解决步骤: 1. 下载附件中的js附件,并替换掉原文件。(主要去掉了transport.js的json功能并新增新的json功能) 2. page_header.lbi 中添加 {insert_scripts files='jquery.js,jquery.json-1.3.js'} 3. 在所有的JS中。 替换 *.toJSONString() 为 $.toJSON(*) 替换 *.parseJSON() 为 $.evalJSON(*) 替换(不是去掉)页面所有的$(){}函数,防止jquery不生效(解释:这一步是要替换掉原ecshop里的$(){}这个函数,因为它与jquery是冲突的,解决的办法很多,可以用其他函数代替,比如getId(){}等等,也可以用jquery本身来解决,在此,我就不具体做例子了,由于最近比较忙,好多天没研究ecshop了。^_^ .还有一个解决办法,大家自行研究吧: jQuery.noConflict() 运行这个函数将变量$的控制权让渡给第一个实现它的那个库。 这有助于确保jQuery不会与其他库的$对象发生冲突。 在运行这个函数后,就只能使用jQuery变量访问jQuery对象。例如,在要用到$("div p")的地方,就必须换成jQuery("div p")。 注意:这个函数必须在你导入jQuery文件之后,并且在导入另一个导致冲突的库之前使用。当然也应当在其他冲突的库被使用之前,除非jQuery是最后一个导入的。 ) 注意:可能要替换掉很多地方,请大家不要怕麻烦 解决范例: 1.在商品浏览页,用户评论这里: Ajax.call('comment.php', 'cmt=' + cmt.toJSONString(), commentResponse, 'POST', 'JSON'); 替换为 Ajax.call('comment.php', 'cmt=' + $.toJSON(cmt), commentResponse, 'POST', 'JSON'); 2.index.js 里 var res = result.parseJSON(); 替换为 var res = $.evalJSON(result); 以下是修改过的文件: js\compare.js \js\common.js \js\transport.js \themes\modify\library\member_info.lbi \admin\js\selectzone.js \admin\templates\topic_edit.htm \admin\templates\menu.htm \admin\templates\topic_edit.htm |
回答:
对楼主的热心表示感谢 |
楼主的分享很不错 |
谢谢楼主!! |
朋友的博客。。。 塑料袋 |
我都替换了,并且js文件也引入进来了,我在点加入购物车的时候还是不行呀 |
没有成功, |
1# 柯苦 修改完之后,商品无法加入购物车里面了 |
技术骨干啊! |
其实还有个方法啊`...而且这贴子3月份的时候有个人发过..LZ只是复制的 `.. |
抄袭 无意义 |
11# myareaway 看看先 |
先感谢,再继续看! |
精神可嘉! |
高手啊!! |
最近更新
常用插件
- ecshop2.7.1打印发货单插件
ecshop2.7.1打印发货单插件介绍:ecshop2.7.1和以前的ecshop版本不一样,ecs...
- ecshop商品分类名称增加样
ecshop插件介绍:本插件可以方便在后台管理,为ecshop商品分类名称增加样...
- ecshop二次开发详细页面生
插件介绍: ECSHOP系统,在很多时候,很多商品没有人购买,不但购买的人...
- ecshop分类批量扩展插件
ecshop分类批量扩展插件,这个插件是ecshop插件里面比较核心的插件。我们...
- ecshop二次商品订购人信息
ecshop二次商品订购人信息填写插件,有时候给朋友送花,或者是送礼品的...
ecshop热门问答
ecshop热门资料
ecshopkingreid
ecshopdirname
ecshop會員
ecshop系统升级
ecshop奇美优
ecshop配货
ecshop具体步骤
ecshop企业网站模板
ecshop分类flash
ecshop标签云
ecshopashx
ecshop圆通快递
ecshop透明度
ecshop整个网络
ecshop构想
ecshop货号
ecshop撤销
ecshopECshop
ecshopcurrent
ecshop败笔
ecshop多店
ecshop团购系统
ecshop伪静态
ecshop单位换算
ecshop大地
ecshop改善
ecshop签署
ecmall排行
ecshop空间
支付方式