如何基于js判斷瀏覽器版本
這篇文章主要介紹了如何基于js判斷瀏覽器版本,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
瀏覽器類型判斷
不考慮對(duì) IE9 以下瀏覽器的判斷
function getBrowserType(){ var userAgent = navigator.userAgent; //取得瀏覽器的userAgent字符串 var browser='unknown'; if (userAgent.indexOf("IE")!=-1) { browser="IE"; }else if(userAgent.indexOf('Firefox')!=-1){ browser="Firefox"; }else if(userAgent.indexOf('OPR')!=-1){ browser="Opera"; }else if(userAgent.indexOf('Chrome')!=-1){ browser="Chrome"; }else if(userAgent.indexOf('Safari')!=-1){ browser="Safari"; }else if(userAgent.indexOf('Trident')!=-1){ browser='IE 11'; } return browser; }
測(cè)試
判斷IE瀏覽器的版本
包含edge,ie11,10,9,8,7,6,5,4
// 獲取IE版本 function IEVersion() { // 取得瀏覽器的userAgent字符串 var userAgent = navigator.userAgent; // 判斷是否為小于IE11的瀏覽器 var isLessIE11 = userAgent.indexOf('compatible') > -1 && userAgent.indexOf('MSIE') > -1; // 判斷是否為IE的Edge瀏覽器 var isEdge = userAgent.indexOf('Edge') > -1 && !isLessIE11; // 判斷是否為IE11瀏覽器 var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf('rv:11.0') > -1; if (isLessIE11) { var IEReg = new RegExp('MSIE (\\d+\\.\\d+);'); // 正則表達(dá)式匹配瀏覽器的userAgent字符串中MSIE后的數(shù)字部分,,這一步不可省略?。?! IEReg.test(userAgent); // 取正則表達(dá)式中第一個(gè)小括號(hào)里匹配到的值 var IEVersionNum = parseFloat(RegExp['$1']); if (IEVersionNum === 7) { // IE7 return 7 } else if (IEVersionNum === 8) { // IE8 return 8 } else if (IEVersionNum === 9) { // IE9 return 9 } else if (IEVersionNum === 10) { // IE10 return 10 } else { // IE版本<7 return 6 } } else if (isEdge) { // edge return 'edge' } else if (isIE11) { // IE11 return 11 } else { // 不是ie瀏覽器 return -1 } }
判斷瀏覽器型號(hào)及版本號(hào)
function getBroswerAndVersion(){ var os = navigator.platform; var userAgent = navigator.userAgent; var info = ""; var tempArray = ""; //判斷瀏覽器版本 var isOpera = userAgent.indexOf("Opera") > -1; //判斷是否Opera瀏覽器 var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判斷是否IE瀏覽器 var isEdge = userAgent.toLowerCase().indexOf("edge") > -1 && !isIE; //判斷是否IE的Edge瀏覽器 var isIE11 = (userAgent.toLowerCase().indexOf("trident") > -1 && userAgent.indexOf("rv") > -1); if (/[Ff]irefox(\/\d+\.\d+)/.test(userAgent)) { tempArray = /([Ff]irefox)\/(\d+\.\d+)/.exec(userAgent); info += tempArray[1] + tempArray[2]; } else if (isIE) { var version = ""; var reIE = new RegExp("MSIE (\\d+\\.\\d+);"); reIE.test(userAgent); var fIEVersion = parseFloat(RegExp["$1"]); if (fIEVersion == 7) { version = "IE7"; } else if (fIEVersion == 8) { version = "IE8"; } else if (fIEVersion == 9) { version = "IE9"; } else if (fIEVersion == 10) { version = "IE10"; } else { version = "0" } info += version; } else if (isEdge) { info += "Edge"; } else if (isIE11) { info += "IE11"; } else if (/[Cc]hrome\/\d+/.test(userAgent)) { tempArray = /([Cc]hrome)\/(\d+)/.exec(userAgent); info += tempArray[1] + tempArray[2]; } else if (/[Vv]ersion\/\d+\.\d+\.\d+(\.\d)* *[Ss]afari/.test(userAgent)) { tempArray = /[Vv]ersion\/(\d+\.\d+\.\d+)(\.\d)* *([Ss]afari)/.exec(userAgent); info += tempArray[3] + tempArray[1]; } else if (/[Oo]pera.+[Vv]ersion\/\d+\.\d+/.test(userAgent)) { tempArray = /([Oo]pera).+[Vv]ersion\/(\d+)\.\d+/.exec(userAgent); info += tempArray[1] + tempArray[2]; } else { info += "unknown"; } return info; }
低于IE9版本提醒
<!--[if lte IE 9]> <script> var bro = getBroswerAndVersion(); if(bro=="IE5" || bro=="IE6" || bro=="IE7" || bro=="IE8" ){ alert("瀏覽器版本過(guò)低!請(qǐng)升級(jí)至IE9以上"); } </script> <![endif]-->
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 利用瀏覽器全屏api實(shí)現(xiàn)js全屏
- javascript使用百度地圖api和html5特性獲取瀏覽器位置
- python 調(diào)用API接口 獲取和解析 Json數(shù)據(jù)
- Node.js API詳解之 dgram模塊用法實(shí)例分析
- Node.js API詳解之 V8模塊用法實(shí)例分析
- JS跨瀏覽器解析XML應(yīng)用過(guò)程詳解
- 手機(jī)瀏覽器喚起微信分享(JS)
- JS檢測(cè)瀏覽器開(kāi)發(fā)者工具是否打開(kāi)的方法詳解
- Vue.js獲取手機(jī)系統(tǒng)型號(hào)、版本、瀏覽器類型的示例代碼
- JS瀏覽器BOM常見(jiàn)操作實(shí)例詳解
- 基于js判斷瀏覽器是否支持webGL
- 如何使用 JavaScript 操作瀏覽器歷史記錄 API
相關(guān)文章
微信小程序?qū)崿F(xiàn)文字長(zhǎng)按復(fù)制與一鍵復(fù)制功能全過(guò)程
微信小程序開(kāi)發(fā)是依托微信的,所以他的代碼是嵌入在微信的原始代碼之中的,這篇文章主要給大家介紹了關(guān)于微信小程序?qū)崿F(xiàn)文字長(zhǎng)按復(fù)制與一鍵復(fù)制功能的相關(guān)資料,需要的朋友可以參考下2023-03-03一個(gè)級(jí)聯(lián)菜單(IE ONLY),不過(guò)代碼很精簡(jiǎn)!
一個(gè)級(jí)聯(lián)菜單(IE ONLY),不過(guò)代碼很精簡(jiǎn)!...2006-10-10layui異步加載table表中某一列數(shù)據(jù)的例子
今天小編就為大家分享一篇layui異步加載table表中某一列數(shù)據(jù)的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09使用JavaScript觸發(fā)過(guò)渡效果的方法
hover 和 :focus 這樣的偽類,我們可以很方便的將元素從一個(gè)樣式切換到另一個(gè)樣式,而且切換是會(huì)有過(guò)渡效果。但有時(shí)我們想要使用 js 來(lái)驅(qū)動(dòng)過(guò)渡(即在代碼中觸發(fā)過(guò)渡)也是可以實(shí)現(xiàn)的,下面通過(guò)本文給大家介紹下2017-01-01JavaScript 用cloneNode方法克隆節(jié)點(diǎn)的代碼
很多時(shí)候我們需要通過(guò)HTML DOM 的方式,用JavaScript 動(dòng)態(tài)生成很多相同的節(jié)點(diǎn),包括其子節(jié)點(diǎn)2012-10-10web頁(yè)面和微信小程序頁(yè)面實(shí)現(xiàn)瀑布流效果
這篇文章主要介紹了web頁(yè)面和微信小程序頁(yè)面實(shí)現(xiàn)瀑布流效果,本文通過(guò)實(shí)例代碼圖文介紹,給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2018-09-09js使用文件流下載csv文件的實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于js使用文件流下載csv文件的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07jquery中click等事件綁定及移除的幾種方法小結(jié)
這篇文章主要介紹了jquery中綁定事件與解綁事件是常用到的寫法,這里總結(jié)了幾種常見(jiàn)的綁定事件與解綁事件的方法,需要的朋友可以參考下2023-05-05