La « console » non définie d'IE : une solution
Rencontrer des erreurs « la console n'est pas définie » lors du débogage de votre page Web dans Internet Explorer peut être frustrant . Voici un guide complet pour résoudre ce problème et éviter efficacement les erreurs de script.
Contexte du problème
Firebug est un excellent outil pour surveiller votre code, mais certaines déclarations comme "console .log(...)" peut déclencher des erreurs d'exécution dans IE8 et les versions antérieures. En effet, IE ne dispose pas d'un objet console natif, ce qui entraîne le problème « la console n'est pas définie ».
Tentative initiale
Tentatives de correction de ce problème en définissant une console fictive objet avec une fonction "log" d'espace réservé comme ceci :
<script type="text/javascript"> if (!console) console = {log: function() {}}; </script>
peut ne pas suffire. IE semble interpréter correctement ce code mais renvoie toujours l'erreur « la console n'est pas définie ».
Une solution éprouvée
Pour éliminer efficacement ces erreurs, essayez cette approche modifiée :
<script type="text/javascript"> if (!window.console) console = {log: function() {}}; </script>
Cette méthode révisée s'avère plus fiable car elle vérifie l'attribut 'window.console' au lieu d'accéder directement à 'console'. Une variable non définie ne peut pas être référencée directement, mais accéder à un attribut non défini d'un contexte global (fenêtre dans les navigateurs) est acceptable.
Option alternative
Si vous préférez évitez la variable 'window', vous pouvez utiliser cette alternative :
<script type="text/javascript"> if (typeof console === 'undefined') console = {log: function() {}}; </script>
Cette option permet d'obtenir efficacement le même résultat.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!