Ответ 1
просто попробуйте добавить эту строку вверху страницы, если вы используете html-страницу.
<! DOCTYPE html >
Я использую IE9 beta с тестовым кодом ниже, и я сталкиваюсь с ошибкой 80020102, когда vbscript пытается добавить в массив. Если я запустил это в режиме quirks, это сработает.
Не зная, является ли это проблемой 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]));
}
}
просто попробуйте добавить эту строку вверху страницы, если вы используете html-страницу.
<! DOCTYPE html >
Вы пытались использовать режим совместимости?
<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-решение, вам будет лучше.
Вот ваш код, очищенный от 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]);
}
}