ie11的版本判斷


我的電腦昨天更新的時候把ie11給更新出來了,然后發現我的skylineweb項目提示我的瀏覽器不是ie,這樣顯然是瀏覽器檢測出現了問題。查找后找到了下面的解決方法。大家的電腦如果也更新成了ie11的話,再去打開別的網上已經發布的三維項目的話,會發現無法加載。同樣是瀏覽器的檢測的問題。且看正文:

skyline平台只支持ie,這樣我們在做skyline的項目時必須在場景加載前進行瀏覽器檢測。當不是ie時,給客戶提醒“請使用ie”;當是ie時,判斷ie的版本,這樣客戶可以讓客戶按照ie的版本來安裝相應的TE Pro。

且看下面段代碼:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function CheckBrowser() {
     ua = navigator.userAgent;
     ua = ua.toLocaleLowerCase();
 
     if (ua.match(/msie/) != null ) {
         browserType = "IE" ;
         browserVersion = ua.match(/msie ([\d.]+)/)[1];
     } else if (ua.match(/firefox/) != null ) {
         browserType = "火狐" ;
     } else if (ua.match(/opera/) != null ) {
         browserType = "歐朋" ;
     } else if (ua.match(/chrome/) != null ) {
         browserType = "谷歌" ;
     } else if (ua.match(/safari/) != null ) {
         browserType = "Safari" ;
     }
     var arr = new Array(browserType, browserVersion);
     return arr;
}

  上面思路是通過瀏覽器的userAgent值來判斷(字符串),抓住各個瀏覽器userAgent值里面的不同字符串值。下面大家得學習下一篇關於ie11的介紹,我就是從那里學習,得出檢測ie11的辦法:

http://www.ithome.com/html/ie/48082.htm

我從里面摳出主要的部分:

從ie11的userAgent字符串,看出要判斷ie11,得改為對Trident值的判斷,但是獲取版本的時候又得通過“rv 11.0”來獲取。這樣想到下面的方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function CheckBrowser() {
     ua = navigator.userAgent;
     ua = ua.toLocaleLowerCase();
 
     if (ua.match(/msie/) != null || ua.match(/trident/) != null ) {
         browserType = "IE" ;
         //哈哈,現在可以檢測ie11.0了!
         browserVersion = ua.match(/msie ([\d.]+)/) != null ? ua.match(/msie ([\d.]+)/)[1] : ua.match(/rv:([\d.]+)/)[1];
     } else if (ua.match(/firefox/) != null ) {
         browserType = "火狐" ;
     } else if (ua.match(/opera/) != null ) {
         browserType = "歐朋" ;
     } else if (ua.match(/chrome/) != null ) {
         browserType = "谷歌" ;
     } else if (ua.match(/safari/) != null ) {
         browserType = "Safari" ;
     }
     var arr = new Array(browserType, browserVersion);
     return arr;
}

  大家看,在11.0以下的版本,ie會通過ua.match(/msie ([\d.]+)/)[1]獲取版本號,當是ie11.0時,會通過 ua.match(/rv:([\d.]+)/)[1]來獲取版本號。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM