Gestion des erreurs pour 'console' non définie dans Internet Explorer
Lors de l'utilisation de Firebug, des instructions telles que console.log("...") peut rencontrer des erreurs affirmant que « console » n'est pas défini, en particulier dans Internet Explorer 8 et les versions antérieures. Pour résoudre ce problème, des tentatives ont été faites pour implémenter une solution de contournement en ajoutant un bloc de script au début de la page avec :
<script type="text/javascript"> if (!console) console = {log: function() {}}; </script>
Cependant, des erreurs ont persisté. Une solution plus efficace est recommandée :
if (!window.console) console = ...
Cette approche exploite le fait qu'une variable non définie n'est pas accessible directement. A l’inverse, toutes les variables globales existent comme attributs du contexte global, window dans le cas des navigateurs. Par conséquent, l'accès à un attribut non défini, tel que window.console, ne génère pas d'erreur.
Une méthode alternative pour éviter d'utiliser la variable globale window consiste à utiliser l'opérateur typeof :
if (typeof console === 'undefined') console = ...
Cette approche garantit que la console n'est pas définie avant de lui attribuer une valeur, supprimant ainsi efficacement l'erreur.
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!