如何基于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后的数字部分,,这一步不可省略!!!

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]-->

以上是 如何基于js判断浏览器版本 的全部内容, 来源链接: utcz.com/z/323354.html

回到顶部