11

以下のテスト コードで IE9 ベータ版を使用していますが、vbscript が配列に追加しようとすると 80020102 エラーが発生します。これをクワークモードで実行すると、うまくいくようです。

これが MS の問題なのか、それとも私が行っている不適切なものなのかわからないので、IE9 のバグ デポに提出しました。誰かが回避策について提案していますか?

完全な 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]));
    }

}
4

3 に答える 3

1

HTMLページを使用している場合は、この行をページの上に追加してみてください。

<! DOCTYPE html >
于 2012-04-16T10:09:53.510 に答える
0

互換モードを使用してみましたか?

<meta http-equiv="X-UA-Compatible" content="IE=8; IE=7; IE=5" >

http://msdn.microsoft.com/en-us/library/cc288325%28v=vs.85%29.aspx

また、vbscriptから離れて、javascriptのみのソリューションを使用できれば、より良い結果が得られるというコメントにも同意します。

于 2012-01-13T04:05:51.803 に答える
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]);
    }
}
于 2012-03-14T12:57:47.147 に答える