判断浏览器类型 (区分IE浏览器)

很久不见啦 (오랜만이다) 🧐


因为浏览器之间的差异,兼容IE 应该是前端开发中最令人头大的事情了!

注:新版的 Edge 已经拥抱 Chromium 内核,与 IE 脱离了关系。旧版的 Edge 也将在 2021 年结束支持。(在微软 Win10 20H 的系统版本中,新版 Edge 替代旧版作为系统内置的浏览器)

在这里插入图片描述

HTML判断

针对 IE10 以下的版本 (不包括 IE 10,除此之外也不包括 IE 11Edge (旧版)),因为 IE10 及以上版本不支持这样判断了。

    <!--[if IE 6]> IE6 <![endif]-->
      
    <!--[if lte IE 6]> IE6及以下版本 <![endif]-->
      
    <!--[if lt IE 6]> IE6以下版本 <![endif]-->
    
    <!--[if gte IE 6]> IE6及以上版本 <![endif]-->
      
    <!--[if gt IE 6]> IE6以上版本 <![endif]-->
   
    <!--[if IE]> 所有的IE可识别 <![endif]-->
    <!--[if !IE]><!--> 除了IE9及以下版本不能识别,其余所有浏览器都能识别 <!--<![endif]-->

JavaScript判断

1. 判断IE浏览器

//除了edge所有IE浏览器返回true
function isIE() {
	if (!!window.ActiveXObject || 'ActiveXObject' in window)
    	return true
    else
    	return false
}

2. IE10及以下版本浏览器

针对 IE10 及以下版本浏览器,还可以通过下面的方式判断

//IE10及以下版本返回true
function isIE() {
	if (window.navigator.userAgent.indexOf("MSIE") >= 1)
		return true
	else
		return false
}

3. 判断其他浏览器

先看下不同浏览器的 userAgent

谷歌浏览器 Chrome

在这里插入图片描述
火狐浏览器 Firefox

在这里插入图片描述
Safari浏览器 Safari
在这里插入图片描述

Opera浏览器 Opera (应该使用 OPR 吧)

在这里插入图片描述

Edge (旧版) Edge

在这里插入图片描述
Edge (新版) Edg

在这里插入图片描述

原理都是获取 navigator.userAgent 参数来判断,但是返回值是有特殊性的,所以判断的顺序要注意下。

function getBrowser() {
	var browserList = ['opr', 'edge', 'edg', 'chrome', 'firefox', 'safari'],
		userAgent = navigator.userAgent.toLowerCase()

	if (!!window.ActiveXObject || 'ActiveXObject' in window)
    	return 'ie'

	for (var index in browserList) {
		if (browserType = userAgent.indexOf(browserList[index]) > -1)
		return browserList[index]
	}
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值