×
  官方微博: 腾讯   新浪
ECSHOP模板 
食品保健 家居化妆 家电数码 综合通用 珠宝配饰
VIP免费模板 
家居化妆 综合通用 服装饰品 食品保健 家电数码
ECSHOP插件 
ECSHOP插件 SHOPEX插件
EC教程中心
安装使用网店运营
首页 > ECSHOP教程 > ECShop的transport.js文件与jquery文件冲突问题

帮助目录

有问必答

您可以加入我们的官方QQ群。

加入官方QQ群

可以将问题或建议反馈给我们。

提交在线客服

猜您感兴趣

ECShop的transport.js文件与jquery文件冲突问题

网站开发中心/ 2015-07-25/ 关注人气:590

还无法判断问题产生原因的网友,请直接跳过原因,查看问题的现象,如果有相似现象,就可以直接查看解决方法。

 

产生原因:很多网站的样式都使用JavaScript框架:jQuery,我们在用ECShop做站修改界面时,也都需用到jQuery库.而ECShop把AJAX事件和JSON解析放在common.js和transport.js中, 可以说这是ECShop自己封装的一套工具,但ECShop在封装JSON各种方法的同时对object的模型进行了重写, 这就跟jQuery产生了冲突。

 

问题现象:不管冲突的原因是什么,网站主要会出现以下情况:

 

1:网页巨卡无比,过一段时间才能加载完成。

2:加载结束之后,ECShop一些功能无法使用, 如产品无法添加购物车, 产品无法比较,无法评论等。

3:除了2的现象,在网页使用到jQuery库做特效的一些功能也无法正常使用, 如:下拉菜单无法弹出, 产品幻灯片无法播放等等。

 

解决方法(比如:商品页面goods.dwt)

 

1:下载transportNew.js到js目录下(下载地址写在最后)

2:在goods.dwt页面,将所有引用transport.js文件的地方, 改为transportNew.js

注意! 是所有,在goods.dwt页面中,还有引用到library文件夹中各种.lbi文件,如: 评论comments_list.lbi文件里也有引用到transport.js文件

 

这样,上面问题现象描述中的1,3,已经完美解决了(既:网页不卡了,下拉菜单可以弹出,产品幻灯片可以播放等等.)此时, 添加购物车功能还是无法使用。

 

继续打开js/common.js 文件, 将addToCart函数复制一份, 重命名为: addToCartNew

 

将新函数: addToCartNew的最后一句

 

Ajax.call('flow.php?step=add_to_cart', 'goods=' + goods.toJSONString(), addToCartResponse, 'POST', 'JSON');

 

改成

 

Ajax.call('flow.php?step=add_to_cart', 'goods=' + objToJSONString(goods), addToCartResponse, 'POST', 'JSON');

 

注意对比两句代码不一样的地方

 

这样 产品goods.dwt页面添加评论的功能与jQuery特效的冲突也已经完美解决了!!!!以上解决方法为商品页面goods.dwt的transport.js文件jQuery库的解决方法。其他页面也一样!!!!

 

transportNew.js文件下载地址:http://www.53moban.com/downloads/transportNew.rar

分享到:
下一篇:ecshop2.73系统整合Discuz! X3论坛详细图文教程
上一篇:ecshop对测试数据进行数据库快速清除方法