zoukankan      html  css  js  c++  java
  • 解决echsop兼容jquery(transport.js的冲突)的问题

    方案一:

    本人亲测过,可以用。有的人说需要删除js目录下的gobal.js文件,否则依然会冲突。我没删除也解决了冲突。

    1、加入JSON2.js文件

    原因很简单,transport修改Object是为了加入支持JSON的方法。所以我这里用JSON官网在javascript语言上提供的 json2.js支持具体下载地址json官网

    http://www.json.org/js.html

    加入json2.js例如{insert_scripts files='transport.js,utils.js,json2.js'}

    2、修改transport.js

    2.1 注释掉重写object的方法,具体搜索

    if ( ! Object.prototype.toJSONString) {
    

    这一段代码,然后把里面的内容全部注释掉。(我的是注释掉496-737行)

    2.2 加入新的JSON支持方法

    function objToJSONString(obj, filter){
    	return JSON.stringify(obj, filter);
    }
    function parseObjectToJSON(object, filter){
    	return JSON.parse(object, filter);
    }
    function objToJSONString(obj, filter){
    	return JSON.stringify(obj, filter);
    }
    function parseObjectToJSON(object, filter){
    	return JSON.parse(object, filter);
    }
    

      也可以看到其实都很简单,都是调用json2.js里面提供的方法,有人觉得不必在这里添加直接调用也可以,但我还是建议做这样的一个适配器在这,因为容易容易表明用意。

    2.3 修正AJAX方法

    2.3.1 在transport.js搜索params.toJSONString() 改为 objToJSONString(params)

    2.3.2 继续在transport.js搜索result.parseJSON() 改为 parseObjectToJSON(result)(具体在408行左右)

    3、修复旧JSON调用地方

    简单来说就是把所有*.toJSONString() 的调用改为用objToJSONString(*),而*.parseJSON()改为parseObjectToJSON(*)。

    例如: common.js里面第一个函数里面的

    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’);
    

    comm.js里面还有一些Ajax.call调用tojsonstring的,都需要按照本例替换。

    但非不得已不建议把一切旧的调用都修复,应该选择性的修复,应当出现冲突的地方我们才必须去修复。

    就是说哪里调用了jQuery,就把修正后的transport.js及json2.js导入,并且修复toJSONString和 parseJSON方法,其他页面几不必了。

    所以说,也不建议在header里面就加入了jQuery,因为这样每个页面都会出现冲突了,修复工资也比较麻烦了,能避免尽量避免了。

  • 相关阅读:
    今天 弄了一下ajax 里面的
    重修理解了一下js 控制treeview 菜单的子级和父级的关系 理解的还不够全 因为 html不够全 但是加个注释吧
    xml .net 用法
    这几天在做把数据库里的数据 导出 并且压缩 学到了一些东西
    今天实现了用按钮后台动态实现了 table里面内容的显示和隐藏 在实现过程中了解了updatepanel的简单的用法
    今天第一次参加了软件产品的讨论会议 收获
    收藏个debug的文章
    Animate.css
    flash遨游缓存问题
    URL短地址压缩算法 微博短地址原理解析 (Java实现)
  • 原文地址:https://www.cnblogs.com/xcxc/p/3729993.html
Copyright © 2011-2022 走看看