判斷IE版本主要的是獲取兩個屬性,a.當前瀏覽器名稱,b.當前瀏覽器版本,爲此不得不瞭解navigator對象。chrome
先貼代碼數組
1 window.onload = function() { 2 var browser_name = navigator.appName, //獲取當前瀏覽器的名稱 3 browser_version = navigator.appVersion, //獲取當前瀏覽器的平臺和版本信息 4 version_arr = browser_version.split(";"), //將平臺版本信息按照;切割成數組 5 version = version_arr[1].replace(/\s/g, ""); //取上一步數組下標爲1的元素,去空格 6 // console.log(browser_name); 7 // console.log(browser_version); 8 // console.log(version_arr); 9 // console.log(version); 10 11 if (browser_name == "Microsoft Internet Explorer") { //若是瀏覽器名稱爲IE 12 if (version == "MSIE5.0" || version == "MSIE7.0") { //當前IE版本知足其中任意一個執行如下操做 13 14 alert(「爲了您更好的體驗,請下載最新的瀏覽器」); 15 } 16 } 17 };
做爲一個初次瞭解navigator對象的人,對於appName屬性(瀏覽器名稱),你的直觀感受多是,使用谷歌瀏覽器獲取的就是chrome,使用QQ瀏覽器獲取的名稱就是qqbrowser,不過很惋惜,目前appName獲取的值只存在兩種,一是"Netscape" (網景),二是「Microsoft Internet Explorer」 (IE)。瀏覽器
就當前瀏覽器例如谷歌,360,QQ瀏覽器,搜狗,IE11等,獲取的appName均爲Netscape,根據w3school的說明,此舉是便於瀏覽器之間的兼容性,不過對於互聯網發展史有所瞭解的人都知道,Netscape對於互聯網發展的所作出的卓出貢獻,因此對於部分網友所言,此舉也是出於對Netscape的緬懷之意也挺有道理。app
包括IE10及IE如下低版本,appName獲取值均爲Microsoft Internet Explorer,若是你的電腦上安裝了IE11,按F12調出控制檯,使用仿真效果能夠模擬各版本IE實際狀況,如圖:spa
咱們能夠看看默認的IE11以及IE10部分版本的appName值狀況code
IE11 appName值對象
IE10 appName值blog
IE5 appName值博客
能夠看出,版本低於11的IE版本,appName屬性均爲Microsoft Internet Explorer。(話說網景正是由於IE才落魄,結果如今IE爲了兼容,appName竟然也爲網景了....)it
最後簡單說說Navigator的appVersion獲取版本號屬性,通常使用IE10及如下版本,獲取的值是這樣的
包括IE8,IE7等低版本,版本信息格式均爲上圖,因此在獲取版本的方法 上使用了split(「;」)來進行切割,獲取下標1的元素便可判斷版本。
但須要注意的是,IE11以及當下的主流瀏覽器版本信息格式並不與上圖相同,因此不一樣瀏覽器具體抓取方法請根據實際狀況去判斷。以下圖爲谷歌的版本信息
大概就寫這麼多吧,個人第一篇博客文。