〈🎜>問題if ( allowed.indexOf(ext[1]) == -1) 語句的執行。此失敗提示了為什麼indexOf函數在IE8中無法正確執行的問題。
indexOf函數是JavaScript陣列中的本機方法,傳回陣列中指定元素第一次出現的索引。但是,在 IE9 之前的 Internet Explorer 版本中,沒有為陣列定義此函數。因此,嘗試在 IE8 中的陣列上使用 indexOf 會觸發錯誤。
解
要解決此差異,可以在使用 indexOf 之前使用 polyfill功能。 Polyfill 是一個程式碼片段,可實現與舊瀏覽器版本的相容性。在這種情況下,Array.prototype.indexOf的polyfill可以實現如下:
實現這個polyfill可以確保indexOf函數在舊版IE中可用,從而允許JavaScript函數按預期運行.以上是為什麼在 IE8 中,indexOf 不能正確處理陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!