JavaScript 判断浏览器是否是IE_javascript技巧

来源:脚本之家  责任编辑:小易  

作为一个前端,避免不了会遇见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

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 判断浏览器的资料请关注真格学网其它相关文章!

您可能感兴趣的文章:IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法JS编写兼容IE6,7,8浏览器无缝自动轮播js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】JS如何判断浏览器类型和详细区分IE各版本浏览器javascript 判断当前浏览器版本并判断ie版本JavaScript自定义浏览器滚动条兼容IE、 火狐和chromeJavaScript兼容浏览器FF/IE技巧Javascript在IE和Firefox浏览器常见兼容性问题总结

  • 本文相关:
  • javascript中this关键字指向问题的测试与详解
  • javascript实现的上下无缝滚动效果
  • javascript实现鼠标点击导航栏变色特效
  • javascript文档加载模式以及元素获取
  • js判断变量是否空值的代码
  • 原生js通过一行代码实现简易轮播图
  • 简单谈谈js中的正则表达式
  • 详解javascript中的六种错误类型
  • 微信小程序获取当前位置和城市名
  • javascript实现梯形乘法表的方法
  • JS如何判断是否为ie浏览器的方法(包括IE10
  • js判断是否是IE浏览器的几种方法
  • javascript 判断ie与非ie浏览器的几种方法
  • js判断浏览器是否为IE浏览器
  • js区分浏览器的方法,判断是否为ie浏览器
  • javascript 如何判断浏览器是ie10
  • js判断浏览器是否为ie
  • 用javascript最新判断是否是IE 浏览器的方法? 我用...
  • js 判断浏览器是否是ie
  • js怎么判断浏览器是否为ie和火狐
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全基础知识javascript类库表单特效广告代码网页特效黑客性质javascript技巧domnode.jsjs其它首页javascriptie浏览器下js脚本提交表单后,不能自动提示问题解决方法js编写兼容ie6,7,8浏览器无缝自动轮播js实现保存文本框内容为本地文件兼容ie,chrome,火狐浏览器js 组件系列之bootstrap table 冻结列功能ie浏览器兼容性问题解决方案js实现获取图片大小和预览的方法完整实例【兼容ie和其它浏览器】js如何判断浏览器类型和详细区分ie各版本浏览器javascript 判断当前浏览器版本并判断ie版本javascript自定义浏览器滚动条兼容ie、 火狐和chromejavascript兼容浏览器ff/ie技巧javascript在ie和firefox浏览器常见兼容性问题总结javascript中this关键字指向问题的测试与详解javascript实现的上下无缝滚动效果javascript实现鼠标点击导航栏变色特效javascript文档加载模式以及元素获取js判断变量是否空值的代码原生js通过一行代码实现简易轮播图简单谈谈js中的正则表达式详解javascript中的六种错误类型微信小程序获取当前位置和城市名javascript实现梯形乘法表的方法js刷新页面方法大全js删除数组里的某个元素方法js中settimeout()的用法详解js截取字符串常用方法详细整理js页面跳转常用的几种方式js打开新窗口的2种方式js数组与字符串的相互转换方法js设置cookie、读取cookie、删除js 将json字符串转换为json对象的js保留两位小数方法总结js小功能(button选择颜色)简单实例子父窗口之间的操作javascript中误用/g导致的正则test()无法javascript封装domcontentloaded事件实例javascript 网页黑白效果实现代码(兼容iejavascript中的new使用layui 弹出层回调获取弹出层数据的例子关于javascript模块加载技术的一些思考js制作手机端自适应缩放显示小程序实现列表点赞功能
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved