java判断浏览器是ie8_JS判断客户浏览器是否是IE8浏览器、jQuery判断浏览器内核

今天在使用encharts的时候由于要兼容IE8,所以最终决定在非IE8浏览器使用encharts,在IE8使用amcharts。于是需要使用JS判断使用的浏览器版本:

function IEVersion() {

var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串

var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器

var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器

var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;

if(isIE) {

var reIE = new RegExp("MSIE (\\d+\\.\\d+);");

reIE.test(userAgent);

var fIEVersion = parseFloat(RegExp["$1"]);

if(fIEVersion == 7) {

return 7;

} else if(fIEVersion == 8) {

return 8;

} else if(fIEVersion == 9) {

return 9;

} else if(fIEVersion == 10) {

return 10;

} else {

return 6;//IE版本<=7

}

} else if(isEdge) {

return 'edge';//edge

} else if(isIE11) {

return 11; //IE11

}else{

return -1;//不是ie浏览器

}

}

返回值类型:

值类型

值说明

-1

Number

不是ie浏览器

6

Number

ie版本<=6

7

Number

ie7

8

Number

ie8

9

Number

ie9

10

Number

ie10

11

Number

ie11

‘edge’

String

ie的edge浏览器

通过进一步的封装可以返回boolean值类型是否是IE8以下浏览器:

function IEVersion() {

var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串

var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器

var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器

var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;

if (isIE) {

var reIE = new RegExp("MSIE (\\d+\\.\\d+);");

reIE.test(userAgent);

var fIEVersion = parseFloat(RegExp["$1"]);

if (fIEVersion == 7) {

return 7;

} else if (fIEVersion == 8) {

return 8;

} else if (fIEVersion == 9) {

return 9;

} else if (fIEVersion == 10) {

return 10;

} else {

return 6; //IE版本<=7

}

} else if (isEdge) {

return 'edge'; //edge

} else if (isIE11) {

return 11; //IE11

} else {

return -1; //不是ie浏览器

}

}

var sureIsIEAndLower8 = function() {

var version = IEVersion();

if (-1 == version) {

return false;

} else if (8 < version || "edge" == version) {

return false;

}else{

return true;

}

}

返回true表示是IE8以及IE8以下浏览器,返回false表示不是IE或者是IE8以上。

补充今天在翻阅jQueryAPI的时候发现jQuery自带检测浏览器内核的方法:

82bea4ebb16b6f158e4bbb8475250323.png

例如我的测试:

alert( JSON.stringify($.browser));

alert( $.browser.version );

结果:

chrome:

0bfcc4e4566102e9800e9262bf1361aa.png

IE11:WC–IE11用的火狐的引擎

6cbef3e7ae2d950d1fb4b22ded40a1b8.png

:

IE10:(microsoft internet explorer

a1688cda89a1810805f4eb2ecfc1d75b.png

火狐:

32598076e9bb17365081fb1912e1ee4d.png

https://www.cnblogs.com/qlqwjy/category/1035591.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值