如何基於js判斷瀏覽器版本
阿新 • • 發佈:2020-02-21
這篇文章主要介紹瞭如何基於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後的數字部分,,這一步不可省略!!! 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]-->
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。