如何判定当前浏览器是ie浏览器
我們都知道ie的標準和w3c的一些標準有些區別,特別是低版本的ie,所以我們經常要判定該瀏覽器是否為ie瀏覽器。
方法1:
document.all
在ie下,document.all可以取出document下的所有子節點,但是該方法只能支持ie10以下的版本(包括ie10)。
當我們在ie11的控制臺下輸出document時,會發現document.all為undefined
但是在ie11下document還是有all存在,后來發現使用如下方法可以兼容所有的ie瀏覽器。
if("all" in document){alert("這是ie瀏覽器"); }else{alert("這不是ie瀏覽器"); }方法2:
這是一種比較簡短的方式,但是只支持ie8(包括ie8)以下的瀏覽器
因為在低版本ie中會把"\v"當作是字符v來解析,但是其他瀏覽器中會把"\v"當作是垂直制表符來解析。
方法3:
這也是一種比較簡短的方式,也是只支持ie8(包括ie8)以下的瀏覽器
對于標準游覽器,如果數組里面最后一個字符為逗號,JS引擎會自動剔除它。但是ie則不會。
標準瀏覽器[1,]會返回“1”,但是ie會返回“1,”。然后前面加-,轉換為數字類型時,ie會轉換為NaN。
方法4:
最后這種方法原理與方法1類似。
我們都知道ie的window下有一個ActiveXObject對象,可以通過這個對象來判斷是不是ie瀏覽器
但是后來會發現在ie11下還是不支持,如果在ie11輸出typeof window.ActiveXObject 發現會undefined;
console.log(typeof window.ActiveXObject);但是在ie11下還是存在有ActiveXObject對象的,后來發現使用如下方法可以兼容所有的ie瀏覽器。
if("ActiveXObject" in window){alert("這是ie瀏覽器"); }else{alert("這不是ie瀏覽器"); }總結
以上是生活随笔為你收集整理的如何判定当前浏览器是ie浏览器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华硕支持2003服务器主板,驱动天空 -
- 下一篇: ubuntu18.04(Jetson)以