Heim  >  Artikel  >  Web-Frontend  >  Wie kann ich Array.indexOf() im Internet Explorer zum Laufen bringen?

Wie kann ich Array.indexOf() im Internet Explorer zum Laufen bringen?

DDD
DDDOriginal
2024-11-24 09:07:09941Durchsuche

How Can I Make Array.indexOf() Work in Internet Explorer?

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:

  • Überprüfen Sie, ob ein Prototyp vorhanden ist: Bevor Sie den Array-Prototyp erweitern, überprüfen Sie, ob die Funktion indexOf() bereits vorhanden ist, indem Sie die Existenz von Array.prototype.indexOf überprüfen. Wenn es fehlt, implementieren Sie die Funktion.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn