Heim > Web-Frontend > js-Tutorial > Warum funktioniert „Array.indexOf()' in IE8 nicht und wie kann ich das Problem beheben?

Warum funktioniert „Array.indexOf()' in IE8 nicht und wie kann ich das Problem beheben?

Barbara Streisand
Freigeben: 2024-11-27 06:24:11
Original
946 Leute haben es durchsucht

Why Doesn't `Array.indexOf()` Work in IE8, and How Can I Fix It?

Fehlerbehebung bei Array.indexOf()-Problemen in IE8

Die indexOf()-Methode ist in modernen Browsern zum Durchsuchen von Elementen in Arrays weit verbreitet. Allerdings kann es in älteren Versionen von Internet Explorer zu Problemen kommen.

Ein Beispielskript, das in IE8 aufgrund des fehlenden indexOf() fehlschlägt, ist:

function CheckMe() {
    var allowed = new Array('docx','xls','xlsx', 'mp3', 'mp4', '3gp', 'sis', 'sisx', 'mp3', 'wav', 'mid', 'amr', 'jpg', 'gif', 'png', 'jpeg', 'txt', 'pdf', 'doc', 'rtf', 'thm', 'rar', 'zip', 'htm', 'html', 'css', 'swf', 'jar', 'nth', 'aac', 'cab', 'wgz');
    var fileinput=document.getElementById('f');
    var ext = fileinput.value.toLowerCase().split('.');
    if ( allowed.indexOf(ext[1]) == -1) 
    {
        document.getElementById('uploadsec').innerHTML = document.getElementById('uploadsec').innerHTML;
        alert('This file type is not allowed!');
    }
}
Nach dem Login kopieren

Lösung für IE8 Kompatibilität

Um dieses Problem in IE8 zu beheben, ist es notwendig, die Funktion indexOf() für das Array-Objekt explizit mit a zu definieren Polyfill:

if (!Array.prototype.indexOf) {
  Array.prototype.indexOf = function(elt /*, from*/) {
    // Code from MDN or another compatible implementation
  };
}
Nach dem Login kopieren

Nach der Implementierung dieses Polyfills sollte die indexOf()-Methode wie erwartet in IE8 und anderen Browsern funktionieren, die möglicherweise keine native Unterstützung dafür haben.

Das obige ist der detaillierte Inhalt vonWarum funktioniert „Array.indexOf()' in IE8 nicht und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage