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

整合jQuery和Prototype遇到的问题.

时间:2014-07-03 11:38:05      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   使用   文件   问题   

由于项目要在旧的服务器上面运行,而旧的服务器底层用了Prototype,所以需要解决jQuery和Prototype冲突的问题。

一.$符号冲突问题

这个还是很好解决的。

jQuery.noConflict()

而如果不想将原来所有$符号换成jQuery,可以用即时函数包住原来的jQuery代码:

(function($){

})(jQuery);

jQuery(document).ready(function($){

});

jQuery(function($){

});

 

二. for in 数组循环问题

for in 语句本身并不是一个 "bad practice",但是却容易被误用,比如用在数组上。

使用for in语句首先要注意,如果不能百分百确定,那么请使用hasOwnProperty:

for (var prop in obj) {

   if (obj.hasOwnProperty(prop)) {

       // prop is not inherited

   }

}

 

 

其次,不要用for in对数组或类数组对象(array-like)。由于Prototype会自动为所有数组添加一推属性,即使用上面hasOwnProperty的方式也无法过滤。不过可以用下面这种方式:

for (var prop in obj) {

    if (Object.prototype.hasOwnProperty.call(obj, prop)) {

    // prop is not inherited

    }

}

 

 

三. IE弹框问题 “Stop running this script”

这是一个很奇怪的问题。原来的框架在IE没有问题,但是导入Prototype之后,IE弹框

Stop running this script?

A script on this page is causing your web browser to run slowly. If it continues to run, your computer might become unresponsive.

 

对于这个问题完全摸不着头脑,通过删除引入文件终于找到罪魁祸首,一个两万多行的文件。一开始还以为里面某个语句导致了这个问题,但是发现并不是。将文件分成两个文件后,就没有出现这个弹框了。

整合jQuery和Prototype遇到的问题.,布布扣,bubuko.com

整合jQuery和Prototype遇到的问题.

标签:style   blog   color   使用   文件   问题   

原文地址:http://www.cnblogs.com/Kingle/p/3815531.html

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