javascript判斷瀏覽器的型別和版本程式碼例項

antzone發表於2017-03-23

隨著技術的進步和時間的推移,各種不同的瀏覽器越來越接近或者符合w3c標準,但是在當前的情況下,不同瀏覽器具有自己不同的特點,特別是低版本瀏覽器存在著比較嚴重的相容性問題,所以有時候需要判斷瀏覽器的型別和獲取瀏覽器的版本,下面就是一段能夠實現此功能的程式碼,希望能夠給需要的朋友帶來一定的幫助。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
function sys_userAgent(){ 
  var userAgent = navigator.userAgent,     
  rMsie = /(msie\s|trident.*rv:)([\w.]+)/,     
  rFirefox = /(firefox)\/([\w.]+)/,     
  rOpera = /(opera).+version\/([\w.]+)/,     
  rChrome = /(chrome)\/([\w.]+)/,     
  rSafari = /version\/([\w.]+).*(safari)/;    
  var browser,version,ua;    
  ua = userAgent.toLowerCase();
  var match = rMsie.exec(ua);    
  if(match != null){    
    return { browser : "ie", version : match[2] || "0" };    
  }
  if(!!window.ActiveXObject || "ActiveXObject" in window){ 
    return { browser : "ie", version : "0"};     
  }
  var match = rFirefox.exec(ua);    
  if(match != null){    
    return { browser : "firefox", version : match[2] || "0" };    
  }
  var match = rOpera.exec(ua);    
  if(match != null){    
    return { browser : "opera", version : match[2] || "0" };    
  }
  var match = rChrome.exec(ua);    
  if (match != null){    
    return { browser:"chrome", version:match[2] || "0" };    
  }
  var match=rSafari.exec(ua);    
  if(match != null){    
    return { browser : "safari", version : match[1] || "0" };    
  }
  if(match != null){    
    return { browser : "", version : "0" };    
  } 
}

以上程式碼實現了我們的要求,此函式可以返回一個物件直接量,裡面有兩個屬性,分別表示瀏覽器的型別和版本。

相關文章