搜索:
首页 >> JavaScript >> Js高级编程 >> IE6与IE7的unshift 方法

IE6与IE7的unshift 方法

2010-1-19 来源:Ruby's Louvre 投递文章

又发现一个IE不标准的地方,unshift方法会返回新数组的长度,但IE6与IE7则返回undefined。

[提示:你可先修改部分代码,再按运行]

我们可以通过以下方式修正此bug:

 
       var ie = (" " + (/*@cc_on @_jscript_version  @*/ - 1)).slice(-1); 
       if(ie== 6 || ie==7 ||  document.documentMode && document.documentMode !== 8){ 
          var fn = "prototype", 
          unshiftFix = function () {//改变原对象 
            var args = [0,0]; 
            for(var i=0,n=arguments.length;i<n;i++){ 
              args[args.length] = arguments[i] 
            } 
            Array[fn].splice.apply(this, args); 
            return this.length; //返回新数组的长度 
          } 
          Array[fn].unshift = unshiftFix 
        } 

[提示:你可先修改部分代码,再按运行]

Tags:IE6  IE7  BUG 
相关文章
手机版 Js高级编程 Asp之家 Aspxhome.com
闽ICP备06017341号