1. 程式人生 > >JS如何判斷瀏覽器型別和詳細區分IE各版本瀏覽器

JS如何判斷瀏覽器型別和詳細區分IE各版本瀏覽器

/* 
  * 描述:判斷瀏覽器資訊 
  * 編寫:LittleQiang_w 
  * 日期:2016.1.5 
  * 版本:V1.1 
  */
  
 //判斷當前瀏覽型別 
 function BrowserType() 
 { 
   var userAgent = navigator.userAgent; //取得瀏覽器的userAgent字串 
   var isOpera = userAgent.indexOf("Opera") > -1; //判斷是否Opera瀏覽器 
   var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //
判斷是否IE瀏覽器 var isEdge = userAgent.indexOf("Windows NT 6.1; Trident/7.0;") > -1 && !isIE; //判斷是否IE的Edge瀏覽器 var isFF = userAgent.indexOf("Firefox") > -1; //判斷是否Firefox瀏覽器 var isSafari = userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") == -1; //判斷是否Safari瀏覽器
var isChrome = userAgent.indexOf("Chrome") > -1 && userAgent.indexOf("Safari") > -1; //判斷Chrome瀏覽器 if (isIE) { var reIE = new RegExp("MSIE (\\d+\\.\\d+);"); reIE.test(userAgent); var fIEVersion = parseFloat(RegExp["$1"]); if(fIEVersion == 7) {
return "IE7";} else if(fIEVersion == 8) { return "IE8";} else if(fIEVersion == 9) { return "IE9";} else if(fIEVersion == 10) { return "IE10";} else if(fIEVersion == 11) { return "IE11";} else { return "0"}//IE版本過低 }//isIE end if (isFF) { return "FF";} if (isOpera) { return "Opera";} if (isSafari) { return "Safari";} if (isChrome) { return "Chrome";} if (isEdge) { return "Edge";} }//myBrowser() end //判斷是否是IE瀏覽器 function isIE() { var userAgent = navigator.userAgent; //取得瀏覽器的userAgent字串 var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判斷是否IE瀏覽器 if(isIE) { return "1"; } else { return "-1"; } } //判斷是否是IE瀏覽器,包括Edge瀏覽器 function IEVersion() { var userAgent = navigator.userAgent; //取得瀏覽器的userAgent字串 var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判斷是否IE瀏覽器 var isEdge = userAgent.indexOf("Windows NT 6.1; Trident/7.0;") > -1 && !isIE; //判斷是否IE的Edge瀏覽器 if(isIE) { var reIE = new RegExp("MSIE (\\d+\\.\\d+);"); reIE.test(userAgent); var fIEVersion = parseFloat(RegExp["$1"]); if(fIEVersion == 7) { return "IE7";} else if(fIEVersion == 8) { return "IE8";} else if(fIEVersion == 9) { return "IE9";} else if(fIEVersion == 10) { return "IE10";} else if(fIEVersion == 11) { return "IE11";} else { return "0"}//IE版本過低 } else if(isEdge) { return "Edge"; } else { return "-1";//非IE } }

以上程式碼通過測試,可用!

但存在一個問題,即IE5與IE7瀏覽器暫不能區分,以下是IE5與IE7下userAgent的資訊;通過userAgent發現,簡單的通過以上方法,無法正確區分IE5和IE7。期待該問題的解決方案!!!

IE5: userAgent   "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.2; .NET4.0E)"

IE7: userAgent  "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.2; .NET4.0E)"

相關推薦

JS如何判斷瀏覽器型別詳細區分IE版本瀏覽器

/* * 描述:判斷瀏覽器資訊 * 編寫:LittleQiang_w * 日期:2016.1.5 * 版本:V1.1 */ //判斷當前瀏覽型別 function BrowserType() { var userAgent =

HTMLCSS中如何判斷ie版本瀏覽器

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

JS區分 Chrome、Firefox、IE 瀏覽器型別版本

本文內容大多基於官方文件和網上前輩經驗總結,經過個人實踐加以整理積累,僅供參考。 JS 可以利用瀏覽器 Navigator 物件的 userAgent 屬性判斷其型別和版本 通過以下 JS 程式碼打印出瀏覽器 Navigator 物件的 userAgen

JS判斷各種各種瀏覽器型別版本

直接引用這個js 比如 import { Browser } from './browser.js' log(Browser.client.name+" "+Browser.client.version); //browser.js var Browser

js判斷undefined型別 JS判斷空值 undefined null

正確方法:if (typeof(reValue) === "undefined") {    alert("undefined"); }   typeof 返回的是字串,有六種可能:"number"、"string"、"boolean"、"obje

根據判斷PC瀏覽器型別手機螢幕畫素自動呼叫不同CSS

php、asp、js判斷客戶端輸出對應的樣式 ------------------- 1.媒體查詢方法在 css 裡面這樣寫 -------------------- @media screen and (min-width: 320px) and (max-width: 480px){ 在這裡寫小

js如何判斷資料型別陣列型別整理

一、typeof可以判斷部分資料型別 在 JavaScript 裡使用 typeof 來判斷資料型別,只能區分基本型別,即“number”,”string”,”undefined”,”boolean”,”object” 五種。 對於陣列、函式、物件來說,其關

javascript:判斷瀏覽器型別客戶端作業系統 (2009-06-02更新)

 //檢測客戶端環境 function ClientMentInfo() { var me = this; var appVer = navigator.userAgent; this.GetBrowserName = function (){ if(appV

好程式設計師web前端分享JS檢查瀏覽器型別版本

好程式設計師web前端分享JS檢查瀏覽器型別和版本,先取得Navigator物件的userAgent屬性的小寫資訊,之後根據正則表

js判斷undefined型別

js判斷undefined型別 if (reValue== undefined){ alert(“undefined”); } 發現判斷不出來,最後查了下資料要用typeof 方法: if (typeof(reValue) == “undefined”)

js中值型別引用型別的區別(無舉例)

js中的變數型別有哪些? (1)值型別:字串string、數值number、布林值boolean、undefined (2)引用型別:物件object、陣列array、函式function 值型別和引用型別的區別 (1)值型別: 1⃣️佔用空間固定,儲存在棧中(當一個方法

JS判斷數字型別

JavaScript判斷輸入是否為數字型別的方法總結 前言 很多時候需要判斷一個輸入是否位數字,下面簡單列舉集中方法。 第一種方法 isNaN isNaN  返回一個 Boolean 值,指明提供的值是否是保留值 NaN (不是數字)。    NaN 即 Not a Number 

JS判斷變數型別的方法總結

typeof操作符 用於檢測基本資料型別,返回值可能為: “number” “boolean” “string” “undefined” “object” “function”. 注意:typeof null返回”obje

js判斷檔案型別,圖片、視訊等格式

功能說明:js實現判斷檔案型別,圖片‘視訊等格式,當不符合格式時,會自動清除,並重新選擇。’ 1.、圖片、視訊等格式判斷,直接上程式碼 <script type="text/javascript">//1、這個函式是,判斷圖片格式-----------------------

JS中基本型別引用型別分別指的的是什麼?有何區別?

這裡是修真院前端小課堂,每篇分享文從 【背景介紹】【知識剖析】【常見問題】【解決方案】【編碼實戰】【擴充套件思考】【更多討論】【參考文獻】 八個方面深度解析前端知識/技能,本篇分享的是: 【JS中基本型別和引用型別分別指的的是什麼?有何區別?    】 1.背

js判斷資料型別是哪種

var   gettype=Object.prototype.toString         gettype.call('aaaa')        輸出      [object String]         gettype.call(2222)         輸

JS基本資料型別引用資料型別的區別及深淺拷貝

1、棧(stack)和堆(heap)   stack為自動分配的記憶體空間,它由系統自動釋放;而heap則是動態分配的記憶體,大小也不一定會自動釋放 2、資料型別   JS分兩種資料型別:     基本資料型別:Number、String、Boolean、Null、 Und

js判斷資料型別

方法一:通過原型方法判斷 判斷value的資料型別: let isArr=Object.prototype.toString.call(value) == "[ object.Array]"; let isObject=Object.prototype.toString.c

原生js判斷裝置型別

var u = navigator.userAgent; //Android終端 var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //iOS終端 var isiOS = !!u.match(/\

Unity 判斷網路型別有無網路

在遊戲開發中,經常要判斷網路的情況,在unity中可以通過如下方式判斷 if(Application.internetReachability == NetworkReachability.NotReachable) {