手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >transport.js和jquery冲突问题的解决方法
transport.js和jquery冲突问题的解决方法
摘要:问题原因:/js/transport.js文件Object.prototype.toJSONString=function(){******...

问题原因:/js/transport.js 文件

Object.prototype.toJSONString = function () {**************}

大概 580行到590行之间 这个句用于格式化json,他重写了object的结构,导致于js框架冲突,如果要解决需要把这段代码注释掉,然后用别的方式替换。

我是将所有用到*.toJSONString的地方,替换成一个函数,例如:

/js/common.js 29行

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

替换成:

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

obj2str函数如下:

function obj2str(o){ var r = []; if(typeof o ==”string”) return “”"+o.replace(/(['"])/g,”$1″).replace(/(n)/g,”n”).replace(/(r)/g,”r”).replace(/(t)/g,”t”)+””"; if(typeof o ==”undefined”) return “undefined”; if(typeof o == “object”){ if(o===null) return “null”; else if(!o.sort){ for(var i in o) r.push(“”"+i+””"+”:”+obj2str(o[i])) r=”{“+r.join()+”}” }else{ for(var i =0;i<o.length;i++) r.push(obj2str(o[i])) r=”["+r.join()+"]” } return r; } return o.toString(); }

大概这样就可以了,可能还有些脚步错误需要处理,您自己体会下 , 这只是个解决方法,并不一定适用您的网站。

我注释了下面这一段

/* Object.prototype.toJSONString = function () { …… // Join all of the fragments together and return. a.push(‘}'); return a.join(”); }; */

【transport.js和jquery冲突问题的解决方法】相关文章:

jquery预加载图片的方法

jQuery实现不断闪烁文字的方法

javascript实现行拖动的方法

Node.js中JavaScript操作MySQL的常用方法整理

js+html5实现canvas绘制镂空字体文本的方法

JS/Jquery判断对象为空的方法

jQuery实现给页面换肤的方法

png在IE6 下无法透明的解决方法汇总

js+cookies实现悬浮购物车的方法

js实现点击链接后延迟3秒再跳转的方法

精品推荐
分类导航