码迷,mamicode.com
首页 > Web开发 > 详细

ecshop jquery 冲突解决方法

时间:2016-04-24 14:20:42      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:

1.在 transport.js 文件最后添加下面代码
/* *
 * 修正json.prototype信息
 */
function obj2str(o){
  // 兼容 jquery
    // 先删除 ecshop 的 跟jquery 冲突对象    
    //delete Object.prototype.toJSONString;
 
    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();
}
技术分享
技术分享
 技术分享
 
 
2.在有冲突的页面底部添加
<script>
  // 兼容 jquery
    // 然后删除 ecshop 的 跟jquery 冲突对象
    delete Object.prototype.toJSONString;
</script>  
技术分享
 技术分享
 
3.在用有冲突的页面中查找Ajax.call(‘flow.php?step=add_to_cart‘, ‘goods=‘ + goods.toJSONString(), collect_to_flow_response, ‘POST‘, ‘JSON‘);
 
替换成:Ajax.call(‘flow.php?step=add_to_cart‘, ‘goods=‘ + obj2str(goods), collect_to_flow_response, ‘POST‘, ‘JSON‘);
技术分享

 技术分享

ecshop jquery 冲突解决方法

标签:

原文地址:http://www.cnblogs.com/1996F/p/5426873.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!