11
votes

IE9 Erreur 80020102, à l'aide de VBScript Conserve Mot-clé avec Doctype strict

J'utilise IE9 Beta avec le code de test ci-dessous et je rencontre une erreur 80020102 lorsque VBScript tente d'appuyer sur la matrice. Si j'exécute cela dans le mode Quirks, il semble fonctionner.

Ne pas savoir s'il s'agit d'un problème de MS ou de quelque chose de mauvaise qualité que je fais, je l'ai soumis à IE9S Bug Depot. Est-ce que quelqu'un a une suggestion sur un travail autour? P>

Je posterais le HTML complet, mais il a toujours l'air mal formé dans l'aperçu. P>

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

}


3 commentaires

Avoir une lecture sur Stackoverflow.com/editing-help pour des problèmes de formatage.


Pourquoi mélangez-vous JS et VBScript Code ??? Stick To JS Code est IMHO mieux. Dans JS, vous pouvez appeler la méthode Array.Push (VAL) au lieu de cette fonction laidy VBScript AppendierAay (ARR, VAL).


aucune erreur dans IE8 en mode strict, donc vraiment une affaire IE9, je suis d'accord avec Cédric, les deux langues ont leurs mérites mais dans les matrices JavaScript est sûrement meilleure


3 Réponses :


0
votes

Avez-vous essayé d'utiliser le mode de compatibilité?

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


0 commentaires

0
votes

Voici votre code nettoyé de 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]);
    }
}


0 commentaires

1
votes

Essayez simplement d'ajouter cette ligne sur haut de la page si vous utilisez une page HTML.

<! DOCTYPE html >


1 commentaires

Un peu en retard à la fête avec cette réponse - la question pose la question de IE9 Beta, qui est quelque temps dans le passé. À partir de la question, il semble également bien conscient du mode Quirks et de la détermination de la déclencher ou non.