简单方法解决ecshop和jquery冲突
时间:2011-05-08 来源:justforphp
ecshop 和 jquery 冲突的问题由来已久。让我等开发人员很是头痛。
网上一搜大多说是和 transport.js 的 Object.prototype.toJSONString 冲突,解决方案大多或复杂或繁重。
只要将这段代码
if (Object.prototype.toJSONString){
var oldToJSONString = Object.toJSONString;
Object.prototype.toJSONString = function(){
if (arguments.length > 0){
return false;
}else{
return oldToJSONString.apply(this, arguments);
}
}
重新定义了冲突的 toJSONString 函数。
放到 /library/page_header.lbi 后面即可。
也就是 加载 transport.js 后,再执行一次本函数就行了。
可以看下图:
注意: page_header.lbi 是每个页面都会包含的页面。其中已经加载了冲突的 transport.js 文件。
以后都不需要再次加载了。如果发现后面的模板又加载了该文件请直接删除该代码。防止有重新定义 toJSONString 函数。
当然,您要是懒得处理,将上面的代码放到页面最底部是省事情的。
好笨啊。最好的方法是放到 transport.js 的底部。这样无论你重复调用 transport.js 几次都没有问题了。
已知会与 global.js 冲突。 请不要加载 global.js