在使用集團的組件庫開發項目時測試出IE瀏覽器節點無法正常打開,控制檯報錯不支持find方法:
也有客戶反饋遨遊瀏覽器(也是IE內核~🙃)也有同樣的問題,這種公共組件庫如果沒有放棄兼容IE的話就得做好兼容性的判斷😂
這是菜鳥教程上對find方法的說明~通過定義我們可以自己實現find方法,兼容IE11及之前的版本。
if(!Array.prototype.find){
Array.prototype.find = function(callback) {
return callback && (this.filter(callback) || [])[0];
};
}
使用數組的filter方法過濾符合條件的元素,返回所有符合條件元素的數組,實現find方法取數組第一個元素即可,filter方法兼容IE9及以上。
======================================================
在項目中已經使用大量IE不支持的方法沒有辦法一點點修改的時候我們就要藉助js編譯器的力量了~
將新語法編譯爲瀏覽器可識別的語法去執行。具體用法參照babel官網。
======================================================
參考: