在使用jQuery的过程中,发现一些地方在自己的应用上出问题.查来查去,发现问题可能出自jQuery的代码上.以前也曾经发现过jQuery的bug,不过自己英文不好,不能用英文表达出来提交bug.那就先自己自足吧.
注意:这些bug是否是真的bug还有待考证
jQuery 1.2.6版
所在:$.httpData
BUG语句:if ( xml && data.documentElement.tagName == "parsererror" )
修正:if ( xml && null==data.firstChild)
原因:浏览器兼容性问题,data.documentElement不一定存在,当然后面的也就不对了,虽然整体看还是会正确执行,但是不够严谨
所在: $.fx.step._default
BUG语句: fx.elem.style[ fx.prop ] = fx.now + fx.unit;
增加: if (fx.now<0 && fx.prop.search(/width|height/i)>=0) fx.now=0;
原因:有些插件,比如LavaLamp,会令 now < 0为负值,应该是LavaLamp的BUG,不过在这里处理的话,就一了百了了.
所在: $.browser
语句: 增加一个属性以方便switch($.browser.is)结构的操作
增加: is:(userAgent.match(/.*(webkit|opera|msie|firefox|mozilla)/) || [])[1]
原因: 适应了switch语法
注意:这些bug是否是真的bug还有待考证
jQuery 1.2.6版
所在:$.httpData
BUG语句:if ( xml && data.documentElement.tagName == "parsererror" )
修正:if ( xml && null==data.firstChild)
原因:浏览器兼容性问题,data.documentElement不一定存在,当然后面的也就不对了,虽然整体看还是会正确执行,但是不够严谨
所在: $.fx.step._default
BUG语句: fx.elem.style[ fx.prop ] = fx.now + fx.unit;
增加: if (fx.now<0 && fx.prop.search(/width|height/i)>=0) fx.now=0;
原因:有些插件,比如LavaLamp,会令 now < 0为负值,应该是LavaLamp的BUG,不过在这里处理的话,就一了百了了.
所在: $.browser
语句: 增加一个属性以方便switch($.browser.is)结构的操作
增加: is:(userAgent.match(/.*(webkit|opera|msie|firefox|mozilla)/) || [])[1]
原因: 适应了switch语法

Leave a comment