Dans IE8, je suis confronté à un problème lors de l'appel d'une méthode via un objet.Obtention d'une erreur inconnue Dans IE8
Voici l'extrait de code
gen.js
function getmystring()
{
}
function DispString()
{
var = this.getmystring(); // while executing this line, we are getting Unknown error
...
...
...
}
......
......
......
var mystring_Def = {
global: {
cur: null
},
//constructor defs
constructor: {
...
...
...
},
//properties defs which contains getmystring & DispString
...
...
...
}
};
mon html contient le code suivant snippet
<HTML>
<HEAD>
...
...
...
<SCRIPT LANGUAGE="Javascript" SRC="gen.js"> </SCRIPT>
<SCRIPT LANGUAGE="Javascript">
var abc = mystring_Def.global.cur; // mystring_Def.global.cur is intialized before calling this page
document.writeln(DispString());
...
...
...
</BODY>
</HTML>
mystring_Def
est initialisé dans un autre script.
Je reçois "exception inconnue" lors de l'appel this.getmystring()
.
Si appeler la méthode getmystring()
dans une page html, cela fonctionne très bien, mais j'obtiens erreur quand j'appelle DispString()
.
J'ai vérifié si cela est construit ou non en utilisant typeof
, et il montre comme fonction. En utilisant this
, je peux accéder à d'autres propriétés à l'exception des objets de fonction.
Le code ci-dessus fonctionne correctement dans IE6 et IE7, mais échoue dans IE8.
Il serait souhaitable que quelqu'un fournisse des pointeurs pour résoudre le problème ci-dessus.
Je suis confus; qu'est-ce que vous attendez que la variable 'this' référence dans cette fonction? Je soupçonne que c'est la racine du problème, ou du moins un facteur important. – Pointy
Il serait vraiment utile si vous pouviez poster un lien de repro ou un http://sscce.org/. –
1. Suppression de tout le code rend assez difficile à déboguer. 2. Nommez cette variable dans DispString. 3. Ne placez pas d'accolades sur une nouvelle ligne comme celle-ci. –