JavaScript 判断浏览器是否是IE


Posted in Javascript onFebruary 19, 2021

作为一个前端,避免不了会遇见IE的坑,其他浏览器都好好的,测到IE就完蛋,各种不支持,服气了

有些属性和方法是所有版本IE都不支持,而有些则是部分支持,在项目中能够,主要分界岭为IE8,我相信目前大部分在维护和开发的项目,都是支持到IE8及已上版本即可,那么这篇文章,粗浅的总结一下,如何判断浏览器是IE及版本是8.0

首先,有些属性和方法是所有版本IE都不支持,那么只需要判断是否是IE即可

以下三种是我在项目中,用到的方法,如有新的方法,会更新,若大家有其他更好的方法,还望不吝赐教~~

  • document.all
  • window.ActiveXObject
  • window.navigator.msSaveOrOpenBlob
//选一种即可
function isIE(){
 // 据说火狐以后会加入document.all这个方法,所以建议使用另外二种方法
 if (document.all) return true; 
 
 if (!!window.ActiveXObject || "ActiveXObject" in window) return true; 
 
 if (window.navigator && window.navigator.msSaveOrOpenBlob) return true; 
}

判断浏览器是IE8及以下版本

我在上文中也提到,大部分在维护和开发的项目,都是支持到IE8及已上版本即可

navigator.userAgent

JavaScript 判断浏览器是否是IE

function isIE8(){
 var DEFAULT_VERSION = 8.0; 
 var ua = navigator.userAgent.toLowerCase(); 
 var isIE = ua.indexOf("msie")>-1; 
 var safariVersion; 
 if(isIE){ 
  safariVersion = ua.match(/msie ([\d.]+)/)[1]; 
 } 
 if(safariVersion <= DEFAULT_VERSION ){ 
  return true 
 };
}

如有特殊要求,需要兼容更低版本,那么:

var isIE = !!window.ActiveXObject; 

var isIE6 = isIE && !window.XMLHttpRequest; 

var isIE8 = isIE && !!document.documentMode; 

var isIE7 = isIE && !isIE6 && !isIE8;

IE8及以下不支持的CSS属性

  • 阴影 box-shadow
  • 渐变 linear-gradient
  • 提示符 placeholder
  • 透明度 rgba
  • 边框 border-image
  • 圆角 border-radius
  • 旋转相关 transform

IE不支持的方法

在线浏览PDF文件,因为IE并没有内置的pdf阅读器,因此只能下载查看

  • 后端返回文件流时:window.navigator.msSaveOrOpenBlob(blob);具体可以参考另两篇博文,
  • JavaScript处理后端返回PDF文件流,在线预览下载PDF文件
  • Vue.js +pdf.js 处理响应pdf文件流数据,前端转图片预览不可下载

不支持<a>标签的download属性,因此可以用新建iframe,并设置其src属性

if (isIE()){
	$("a").bind('click',function(){
		var elemIF = document.createElement("iframe"); 
		elemIF.src = FilePath;
		elemIF.style.display = "none"; 
		document.body.appendChild(elemIF);
	});
} else {
	$("a").attr("href",FilePath).attr("download",FileName);
}

以上就是JavaScript 判断浏览器是否是IE的详细内容,更多关于JavaScript 判断浏览器的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
Aug 27 Javascript
键盘上一张下一张兼容IE/google/firefox等浏览器
Jan 28 Javascript
jQuery中offset()方法用法实例
Jan 16 Javascript
javascript生成不重复的随机数
Jul 17 Javascript
js实现的动画导航菜单效果代码
Sep 10 Javascript
JavaScript实现相册弹窗功能(zepto.js)
Jun 21 Javascript
jQuery异步提交表单的两种方式
Sep 13 Javascript
JS使用正则表达式验证身份证号码
Jun 23 Javascript
微信浏览器禁止页面下拉查看网址实例详解
Jun 28 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
Mar 13 Javascript
Node.js实现简单管理系统
Sep 23 Javascript
vue下canvas裁剪图片实例讲解
Apr 16 Javascript
原生JavaScript实现进度条
Feb 19 #Javascript
原生JavaScript实现换肤
Feb 19 #Javascript
基于vue的video播放器的实现示例
Feb 19 #Vue.js
JavaScript Dom实现轮播图原理和实例
Feb 19 #Javascript
JavaScript使用setTimeout实现倒计时效果
Feb 19 #Javascript
react项目从新建到部署的实现示例
Feb 19 #Javascript
原生JavaScript实现幻灯片效果
Feb 19 #Javascript
You might like
聊天室php&amp;mysql(三)
2006/10/09 PHP
用PHP动态生成虚拟现实VRML网页
2006/10/09 PHP
PHP中=赋值操作符对不同数据类型的不同行为
2011/01/02 PHP
php数据库配置文件一般做法分享
2012/07/07 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
2017/10/19 PHP
PHP中soap用法示例【SoapServer服务端与SoapClient客户端编写】
2018/12/25 PHP
用javascript动态调整iframe高度的方法
2007/03/06 Javascript
jQuery实现表单input中提示文字value随鼠标焦点移进移出而显示或隐藏的代码
2010/03/21 Javascript
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
Bootstrap和Angularjs配合自制弹框的实例代码
2016/08/24 Javascript
微信小程序获取手机号授权用户登录功能
2017/11/09 Javascript
js读取本地文件的实例
2017/12/22 Javascript
解决vue js IOS H5focus无法自动弹出键盘的问题
2018/08/30 Javascript
layui实现数据表格table分页功能(ajax异步)
2019/07/27 Javascript
Servlet返回的数据js解析2种方法
2019/12/12 Javascript
vue实现从外部修改组件内部的变量的值
2020/07/30 Javascript
vue页面引入three.js实现3d动画场景操作
2020/08/10 Javascript
python查看微信好友是否删除自己
2016/12/19 Python
python实现学生信息管理系统
2020/04/05 Python
tensorflow 1.0用CNN进行图像分类
2018/04/15 Python
Python简单获取网卡名称及其IP地址的方法【基于psutil模块】
2018/05/24 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
2019/06/25 Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
2019/08/13 Python
美国最大的城市服装和运动鞋零售商:Jimmy Jazz
2016/11/19 全球购物
LG西班牙网上商店:Tienda LG Online Es
2019/07/30 全球购物
意大利单身交友网站:Meetic
2020/07/12 全球购物
俄罗斯最大的香水和化妆品网上商店:Randewoo
2020/11/05 全球购物
波兰最大的电商平台:Allegro.pl
2021/02/06 全球购物
森林防火工作方案
2014/02/14 职场文书
学习两会精神心得范文
2014/03/17 职场文书
共产党员公开承诺践诺书
2014/05/28 职场文书
班组拓展活动方案
2014/08/14 职场文书
党员自我评议对照检查材料
2014/09/27 职场文书
领导四风问题整改措施思想汇报
2014/10/13 职场文书
2015年质量月活动总结报告
2015/03/27 职场文书
如何写辞职信
2015/05/13 职场文书