Maison  >  Article  >  interface Web  >  Pourquoi console.log dans Internet Explorer 9 est-il disponible uniquement lorsque les outils de développement sont ouverts ?

Pourquoi console.log dans Internet Explorer 9 est-il disponible uniquement lorsque les outils de développement sont ouverts ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-13 14:55:02690parcourir

Why is console.log in Internet Explorer 9 Only Available When Developer Tools are Open?

Console.log dans Internet Explorer 9 : accessibilité et mise en œuvre

Internet Explorer 9 introduit la prise en charge de la fonction console.log, mais sa disponibilité dépend de certaines conditions.

Disponibilité de window.console.log

La fonction window.console.log est définie dans Internet Explorer 9 uniquement lorsque la fenêtre des outils de développement est active pour l'onglet actuel. Cela signifie que :

  • Lorsque les outils de développement sont ouverts pour un onglet, console.log est accessible sur toutes les pages de cet onglet.
  • Si les outils de développement sont fermés pour un onglet , console.log devient inaccessible sur toutes les pages de cet onglet.
  • L'ouverture d'un nouvel onglet nécessite l'ouverture manuelle des outils de développement de cet onglet pour activer console.log.

Absence de console.log.apply et console.log.call

Alors que window.console.log est défini dans Internet Explorer 9 , ses méthodes d'application et d'appel ne le sont pas. En effet, l'objet console dans IE9 n'est pas entièrement standardisé et est considéré comme une extension du modèle objet de document (DOM). En tant qu'objet hôte, l'objet console n'est pas obligé d'hériter des méthodes d'un objet ou d'une fonction, contrairement aux objets ECMAScript natifs.

Invocation de méthode à l'aide de bind()

Malgré En l'absence d'apply et d'appel, il est toujours possible d'utiliser les méthodes Function.prototype sur les méthodes console. Ceci peut être réalisé en utilisant la méthode bind() :

var log = Function.prototype.bind.call(console.log, console);
log.apply(console, ["this", "is", "a", "test"]); // outputs "thisisatest"

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn