Window.console.log-Zugriff in Internet Explorer 9
In Internet Explorer 9 verhält sich die Funktion window.console.log anders als andere Browser. Um festzustellen, wann es definiert ist, müssen wir die folgenden Szenarien berücksichtigen:
Wann ist window.console.log definiert?
window.console.log ist nur dann zugänglich, wenn Die Entwicklertools sind für die aktuelle Registerkarte geöffnet. Auch nach dem Schließen des Entwicklertools-Fensters bleibt das Konsolenobjekt verfügbar, wenn Sie zu verschiedenen Seiten innerhalb derselben Registerkarte navigieren. Wenn Sie jedoch eine neue Registerkarte öffnen, wird das Konsolenobjekt nicht angezeigt, es sei denn, Sie öffnen explizit die Entwicklertools für diese Registerkarte.
Function.prototype-Methoden und das Konsolenobjekt
Selbst wenn window.console.log definiert ist, sind seine Methoden window.console.log.apply und window.console.log.call nicht definiert. Dies liegt daran, dass das Konsolenobjekt im IE9 kein Standard-DOM-Objekt, sondern eine Erweiterung ist. Daher erbt es nicht vom Objektprototyp und verfügt auch nicht über Methoden, die vom Funktionsprototyp geerbt wurden.
Sie können jedoch weiterhin einige Function.prototype-Methoden für Konsolenmethoden verwenden, indem Sie die Funktion bind() verwenden:
var log = Function.prototype.bind.call(console.log, console); log.apply(console, ["this", "is", "a", "test"]); // Output: "this is a test"
Durch die Bindung der console.log-Funktion an den Function.prototype können Sie auf die apply()-Methode zugreifen und Konsolenprotokolle mit Argumenten ausführen.
Das obige ist der detaillierte Inhalt vonWie verwende ich „window.console.log' effektiv in Internet Explorer 9?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!