Internet Explorer stellt eine Hürde für Entwickler dar, die Konsolenanweisungen wie console.log (...) verwenden, aufgrund der undefinierte Natur der Konsolenvariablen. Trotz Versuchen, dieses Problem zu umgehen, beispielsweise durch das Hinzufügen eines Skriptblocks, der der Konsolenvariablen eine Dummy-Funktion zuweist, bleiben Fehler bestehen.
Um dieses Dilemma zu lösen, ist ein geänderter Ansatz erforderlich:
Lösung:
Stellen Sie der Konsolenvariablen „window“ voran oder verwenden Sie die bedingte Anweisung if (typeof console === „undefiniert“):
if (!window.console) console = {log: function() {}};
Erklärung:
Undefinierte Variablen können nicht direkt referenziert werden. Alle globalen Variablen sind jedoch gleichnamige Attribute des globalen Kontexts (Fenster in Browsern). Der Zugriff auf ein undefiniertes Attribut (z. B. window.console) ist gültig und weist den entsprechenden Wert (in diesem Fall eine Funktion) zu.
Eine andere Möglichkeit besteht darin, den Operator „typeof“ zu verwenden, um vor der Zuweisung den undefinierten Status der Variablen zu prüfen :
if (typeof console === 'undefined') console = {log: function() {}};
Durch die Verwendung dieser Problemumgehungen können Entwickler den Fehler „Konsole ist nicht definiert“ im Internet Explorer umgehen und die Konsolen-API für Debugging- und Protokollierungszwecke nutzen.
Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Konsole ist undefiniert' im Internet Explorer?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!