Dans quelles circonstances est `` défini dans Internet Explorer 9 ?
Même lorsque est défini,
et `` ne sont pas définis. Pourquoi est-ce ?
[Question connexe pour IE8 : ce qui est arrivé à console.log dans IE8 ?.]
Dans quelles circonstances est `` défini dans Internet Explorer 9 ?
Même lorsque est défini,
et `` ne sont pas définis. Pourquoi est-ce ?
[Question connexe pour IE8 : ce qui est arrivé à console.log dans IE8 ?.]
Dans Internet Explorer 9 (ou 8), l' console
objet est uniquement visible lorsque les outils de développement sont ouverts pour un onglet particulier. Si vous masquer la fenêtre outils de développement pour cet onglet, l' console
objet reste exposé pour chaque page, vous accédez. Si vous ouvrez un nouvel onglet, vous devez également ouvrir les outils de développement pour cet onglet pour l' console
objet à être exposé.
L' console
objet ne fait pas partie de la norme et est une extension du Modèle d'Objet de Document. Comme d'autres objets DOM, il est considéré comme un objet hôte et n'est pas nécessaire d'hériter d' Object
,, ni ses méthodes d' Function
, comme les indiens d'ECMAScript les fonctions et les objets faire de. C'est la raison pour apply
et call
ne sont pas définis sur ces méthodes. Dans IE 9, la plupart des objets DOM ont été améliorés pour hériter de la maternelle ECMAScript types. Comme les outils de développement sont considérés comme une extension pour IE (quoique, intégré dans l'extension), ils ne reçoivent pas les mêmes améliorations que le reste de la DOM.
Pour ce que ça vaut, vous pouvez toujours utiliser quelques - Function.prototype
méthodes console
méthodes avec un peu d' bind()
magie:
var log = Function.prototype.bind.call(console.log, console);
log.apply(console, ["this", "is", "a", "test"]);
//-> "thisisatest"
Une solution simple à ce problème de console.log est de définir ce qui suit au début de votre code JS :
Cela fonctionne pour moi dans tous les navigateurs. Cela crée une fonction factice pour console.log lorsque le débogueur n’est pas actif. Lorsque le débogueur est activé, la méthode console.log est définie et s’exécute normalement.
Je sais que c’est une question très ancienne mais j’estime que cela ajoute une alternative intéressante de la façon de traiter la question de la console. Placez le code suivant avant tout appel à console.* (donc votre tout premier script).
Référence :
URL : http://html5boilerplate.com/
Version : 4.3.0
Fichier : js/plugins.js
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.