2011-02-10 1 views
11

Я использую бета-версию IE9 с тестовым кодом ниже, и я сталкиваюсь с ошибкой 80020102, когда vbscript пытается добавить в массив. Если я запустил это в режиме quirks, это сработает.IE9 Ошибка 80020102, используя vbscript Сохранение ключевого слова с doctype strict

Не зная, является ли это проблемой 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 для проблем с форматированием. –

+0

Почему вы смешиваете код JS и VBScript ??? Придерживаться JS-кода ИМХО лучше. В JS вы можете вызвать метод Array.push (val) вместо этой уродливой функции appendArray (arr, val) VBScript. – CedX

+1

Ошибка в IE8 в строгом режиме, так что действительно вопрос IE9 Я согласен с Седриком, оба языка имеют свои достоинства, но в массивах. Javascript наверняка лучше – peter

ответ

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-единственное решение, вам будет лучше.

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 > 
+0

Немного поздно вечеринке с этим ответом - вопрос спрашивает о IE9 beta , что было в прошлом. Из этого вопроса он также хорошо понимает режим причуд и как его запускать или нет. – Spudley

 Смежные вопросы

  • Нет связанных вопросов^_^