都2019年了,現在做兼容可以說IE10以下都是可以忽視了。但是呢,還是要會認識一下 怎么區別IE各版本好一點(ie6-10)。傳統可以用navigator來判斷,但是
我的方法就是判斷JS某個屬性對IE的支持,比如addEventListener,w3c上面 是說IE9及以上才支持的。
那好,這樣如果取反!addEventListener為真的就是IE5678了。
以下一些屬性是IE版本的支持
IE版本 |
支持的狀態 |
10及以下 |
document.all |
9及以下 |
document.all && !window.atob |
8及以下 |
document.all && !document.addEventListener |
7及以下 |
document.all && !document.querySelector |
6及以下 |
document.all && !window.XMLHttpRequest |
知道這些就可以根據條件做相應的判斷就Ok了
var ie = (function () { if (document.all && !window.XMLHttpRequest) return 6; if (document.all && !document.querySelector) return 7; if (document.all && !document.addEventListener) return 8; if (document.all && !window.atob) return 9; if (document.all && document.addEventListener && window.atob) return 10; return 11; })(); alert(ie)