2011-02-10 39 views
11

我正在使用IE9测试版以下的测试代码,并且当vbscript试图追加到数组时遇到80020102错误。如果我以怪癖模式运行它似乎工作。IE9错误80020102,使用vbscript Preserve关键字与doctype严格

不知道这是一个MS问题还是不正确的我正在做的,我已经提交给IE9s错误仓库。有没有人有关于解决问题的建议?

我会发布完整的html,但它总是看起来格式不正确的预览。

-- VBscript part ---  
Function getBlankArray() 
    getBlankArray = Array() 
End Function 

Function appendArray(arr, val) 
    redim preserve arr(ubound(arr) + 1) 
    arr(ubound(arr)) = val 
    appendArray = arr 
End Function 

-- javascript part --- 
function test() 
{ 
    var contextKeysArray = getBlankArray(); 
     var jscontextKeysArray = new Array(); 
    for(var x=0; x < 10; x++) 
    { 

     jscontextKeysArray[x] = x; 

    } 

    for(i = 0; i < jscontextKeysArray.length; i++) 
    { 
      contextKeysArray = (appendArray(contextKeysArray, jscontextKeysArray[i])); 
    } 

} 
+0

阅读http://stackoverflow.com/editing-help格式化问题。 – 2011-02-10 17:26:24

+0

你为什么要混合JS和VBScript代码?坚持JS代码是恕我直言更好。在JS中,你可以调用Array.push(val)方法而不是这个丑陋的VBScript appendArray(arr,val)函数。 – CedX 2011-12-15 16:13:41

回答

0

这里是你的代码从VBScript清理:

function test() { 
    var contextKeysArray = [], jscontextKeysArray = []; 
    for (var x = 0; x < 10; x++) { 
     jscontextKeysArray[x] = x; 
    } 

    for (var i = 0; i < jscontextKeysArray.length; i++) { 
     contextKeysArray.push(jscontextKeysArray[i]); 
    } 
} 
1

只是尝试,如果你使用的HTML页面上添加页面顶部此行。

<! DOCTYPE html >