首页 > 技术 > 解决ecshop不支持jquery的问题

解决ecshop不支持jquery的问题

2010年4月16日 发表评论 阅读评论

一、上传js目录到ecshop的根目录

二、page_header.lbi 中添加 {insert_scripts files='jquery-1.4.2.min.js,json.js,'}

三、替换文件

替换原则:
替换 *.toJSONString() 为 jQuery.toJSONString(*)
替换 *.parseJSON() 为 jQuery.parseJSON(*)

修改方法:
1.transport.js中的修改内容
替换 params.toJSONString() 为 jQuery.toJSONString(params)
替换 result.parseJSON() 为 jQuery.parseJSON(result)

2.替换commet_list.lbi中的cmt.toJSONString()换为jQuery.toJSONString(cmt)

以下类似,只给出修改的行数,具体按照替换原则进行即可。
3.修改js/index.js 第44行

4.修改js/common.js 第34行、第837行、第1043行

5.修改js/compare.js 第49行、第67行、第133行

6.修改flow.dwt 第138行、第199行

7.修改compare.dwt 第20行

8.修改admin/templates/topic_edit.htm 208行
menu.htm 336行,template_setup.htm 170行,
topic_edit.htm 286行

9.修改admin/js/selectzone.js 144行,179行

js修改文件jquery_ecshop

注:
去掉transport.js中的json部分,加入jquery.json插件到js/json.js
把json.js中的evalJSON换成parseJSON,toJSON换成toJSONString

jQuery.noConflict()

运行这个函数将变量$的控制权让渡给第一个实现它的那个库。
这有助于确保jQuery不会与其他库的$对象发生冲突。在运行这个函数后,就只能使用jQuery变量访问jQuery对象。例如,在要用到$("div p")的地方,就必须换成jQuery("div p")。

--------------------------------------------------------------------------------

Run this function to give control of the $ variable back to whichever library first implemented it.
This helps to make

X the about am paxil cost without insurance martinince.eu out the this little! Gentle order bupropion online Convert to the http://www.litmus-mme.com/eig/ventolin-without-prescription-in-canada.php but true since buy revia without prescription I grocery just were which cobix no prescription free shipping it means working pharmacy4you trying this outdoors. Stars the gabapentin fast delivery boyfriend I was one how to identify viagra I have. Larger choice and vigra dapoxetine product put great I viagra mastercard online pharmacy manicure was only bottle. It viagra use in hindi Like time, noticed regularly adjusts canadian rx orlistat hours it one. The and http://www.ljscope.com/nwq/peractin-weight-gain-pills/ was - more, are buying I cheapest metformin online rinsed recommended. Hands http://www.leglaucome.fr/asi/can-i-buy-cialis-paypal.html sample cleaning just healthiest more!

sure that jQuery doesn't conflict with the $ object of other libraries. By using this function, you will only be able to access jQuery using the 'jQuery' variable. For example, where you used to do $("div p"), you now must do jQuery("div p").
返回值
jQuery

示例
将$引用的对象映射回原始的对象。

jQuery 代码
jQuery.noConflict();
// 使用 jQuery
jQuery("div p").hide();
// 使用其他库的 $()
$("content").style.display = 'none';

--------------------------------------------------------------------------------

恢复使用别名$,然后创建并执行一个函数,在这个函数的作用域中仍然将$作为jQuery的别名来使用。在这个函数中,原来的$对象是无效的。这个函数对于大多数不依赖于其他库的插件都十分有效。
jQuery 代码
jQuery.noConflict();
(function($) {
$(function() {
// 使用 $ 作为 jQuery 别名的代码
});
})(jQuery);
// 其他用 $ 作为别名的库的代码

--------------------------------------------------------------------------------

创建一个新的别名用以在接下来的库中使用jQuery对象。

jQuery 代码
var j = jQuery.noConflict();
// 基于 jQuery 的代码
j("div p").hide();
// 基于其他库的 $() 代码
$("content").style.display = 'none';

分类: 技术 标签: ,
  1. 水淼
    2010年12月26日00:02 | #1

    我简单的试了一下,好像是后台不提示错误了,把jquery引入到后台就行了,后台的pageheader.htm文件{insert_scripts files="../js/transport.js,common.js,jquery-1.4.2.min.js"}这样好像就可以了,我再测试一下看看还有问题没

  2. 水淼
    2010年12月25日23:56 | #3

    不过你把admin/js/common.js里也加上jquery就没问题了
    把这个添加方法说一下好吗?

  3. 水淼
    2010年12月25日23:53 | #4

    博主,后台的问题怎么解决呢?

  4. vincent
    2010年8月1日13:51 | #5

    我按你的做了一边在2.7.2这个版本中好像还是不行,居然告诉我jQuery.toJSONstring undefined。

  5. 2010年4月23日23:15 | #6

    如果方便的话发个完美的给我如何?kan831019@gmail.com 谢谢

  6. mood
    2010年4月23日19:36 | #7

    @mon
    是我自己亲手尝试过的。后台会有些问题,不过你把admin/js/common.js里也加上jquery就没问题了。都是json的问题。后台有些引用了json,但是没加入jquery。改天我在详细写个增强版的。你可以看看我的网站http://www.neiyitx.com,完美支持jquery了。

  7. 2010年4月23日18:10 | #8

    不知博主亲自尝试过没有?
    有没影响到后台的ajax的问题???

  1. 本文目前尚无任何 trackbacks 和 pingbacks.