PHP完全自学手册(珍藏版) 中文pdf扫描版下载
产生原因:
很多网站的样式都使用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, 已经完美解决了(既:网页不卡了, 下拉菜单可以弹出, 产品幻灯片可以播放等等.)
此时, 添加购物车功能还是无法使用.
继续:
3: 打开js/common.js 文件, 将addToCart函数复制一份, 重命名为: addToCartNew
将新函数: addToCartNew的最后一句
1
Ajax.call('flow.php?step=add_to_cart', 'goods=' + goods.toJSONString(), addToCartResponse, 'POST', 'JSON');
改成
1
Ajax.call('flow.php?step=add_to_cart', 'goods=' + objToJSONString(goods), addToCartResponse, 'POST', 'JSON');
注意对比两句代码不一样的地方
这样, 产品goods.dwt页面添加评论的功能与jQuery特效的冲突也已经完美解决了!!!!
以上解决方法为商品页面goods.dwt的transport.js文件jQuery库的解决方法.
其他页面也一样!!!!
下载地址如下
转载请注明:谷谷点程序 » ecshop二次开发transport.js与jquery冲突导致下拉菜单无法弹出, 产品幻灯片无法播放等等