如何基于js判斷瀏覽器版本
更新時間:2020年02月20日 14:52:13 作者:秋夜雨巷
這篇文章主要介紹了如何基于js判斷瀏覽器版本,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
這篇文章主要介紹了如何基于js判斷瀏覽器版本,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
瀏覽器類型判斷
不考慮對 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; }
測試
判斷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+);'); // 正則表達式匹配瀏覽器的userAgent字符串中MSIE后的數(shù)字部分,,這一步不可省略?。?! IEReg.test(userAgent); // 取正則表達式中第一個小括號里匹配到的值 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 } }
判斷瀏覽器型號及版本號
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("瀏覽器版本過低!請升級至IE9以上"); } </script> <![endif]-->
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- 利用瀏覽器全屏api實現(xiàn)js全屏
- javascript使用百度地圖api和html5特性獲取瀏覽器位置
- python 調(diào)用API接口 獲取和解析 Json數(shù)據(jù)
- Node.js API詳解之 dgram模塊用法實例分析
- Node.js API詳解之 V8模塊用法實例分析
- JS跨瀏覽器解析XML應用過程詳解
- 手機瀏覽器喚起微信分享(JS)
- JS檢測瀏覽器開發(fā)者工具是否打開的方法詳解
- Vue.js獲取手機系統(tǒng)型號、版本、瀏覽器類型的示例代碼
- JS瀏覽器BOM常見操作實例詳解
- 基于js判斷瀏覽器是否支持webGL
- 如何使用 JavaScript 操作瀏覽器歷史記錄 API
相關文章
一個級聯(lián)菜單(IE ONLY),不過代碼很精簡!
一個級聯(lián)菜單(IE ONLY),不過代碼很精簡!...2006-10-10layui異步加載table表中某一列數(shù)據(jù)的例子
今天小編就為大家分享一篇layui異步加載table表中某一列數(shù)據(jù)的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09JavaScript 用cloneNode方法克隆節(jié)點的代碼
很多時候我們需要通過HTML DOM 的方式,用JavaScript 動態(tài)生成很多相同的節(jié)點,包括其子節(jié)點2012-10-10