Array.indexOf()-Kompatibilität für Internet Explorer-Browser korrigieren
Trotz der weit verbreiteten Einführung von JavaScript fehlt Internet Explorer-Browsern die native Funktionalität von Array.prototype.indexOf() zum Erkennen von Objektvorkommen innerhalb von Arrays. Um dieses Problem zu beheben, können Sie den Array-Prototyp mit dem folgenden Snippet auf Ihrer Seite erweitern:
Array.prototype.indexOf = function(obj, start) { for (var i = (start || 0), j = this.length; i < j; i++) { if (this[i] === obj) { return i; } } return -1; }
Beachten Sie bei der Implementierung dieses Fixes die folgenden Ratschläge:
Browsererkennung vermeiden: Von der Verwendung von Browsererkennungscode wie „if (browser == IE Style Browser)“ wird im Allgemeinen abgeraten, da er unzuverlässig ist und kann zu unerwartetem Verhalten führen.
Bevorzugen Sie stattdessen die folgende Empfehlung des Mozilla Developer Network (MDC):
if (!Array.prototype.indexOf) { }
Dieser Ansatz stellt die Kompatibilität sicher, ohne dass browserspezifische Prüfungen erforderlich sind. Als bewährte Vorgehensweise bevorzugen Sie immer browserübergreifende Lösungen gegenüber browserabhängigen.
Das obige ist der detaillierte Inhalt vonWie kann ich Array.indexOf() im Internet Explorer zum Laufen bringen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!