判断浏览器是否是 IE 及 IE8 以下版本
作为一个前端,避免不了会遇见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);
}
判断浏览器是否是 IE 及 IE8 以下版本相关推荐
- JS如何判断浏览器类型和详细区分IE各版本浏览器
/* * 描述:判断浏览器信息 * 编写:LittleQiang_w * 日期:2016.1.5 * 版本:V1.1 *///判断当前浏览类型 function BrowserType() { var ...
- 通过JS判断浏览器类型,详细区分IE各版本浏览器
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255) ...
- JS判断浏览器IE6、IE7、IE8、IE9、IE10、IE11、Chrome、Firefox、Safari、Opera方法,亲测可用
<script>function myBrowser(){var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串var isOp ...
- 判断浏览器版本是否ie8,ie9,ie10,ie11并提示升级
判断是否IE浏览器极其版本主要是三种方法,第一种是通过 if IE 条件注释语句,第二种是通过 @cc_on 条件编译结合 document.documentMode 属性来判断,第三种则是简单粗暴地 ...
- 判断浏览器是否为ie8调样式
判断浏览器是否为ie8调样式 代码如下: $(function(){var UA = navigator.userAgent,isIE = UA.indexOf('MSIE') > -1,v = ...
- 条件注释判断浏览器!--[if !IE]!--[if IE]!--[if lt IE 6]!--[if gte IE 6]
条件注释判断浏览器<!--[if !IE]><!--[if IE]><!--[if lt IE 6]><!--[if gte IE 6]> <!- ...
- javascript 判断浏览器
为什么80%的码农都做不了架构师?>>> navigator.userAgent 通常我们可以通过navigator.userAgent只读属性来获取浏览器的一些信息,算是原生 ...
- 判断浏览器类型及版本
公司前段时间做项目需要判断浏览器,因为项目进度急暂时只支持一种浏览器 使用window.navigator.userAgent属性,但是在国产浏览器上遇到了问题,下面这段代码只能判断内核,但是我想判断 ...
- javascript判断浏览器核心
20 21 22 23 24 /** * 判断浏览器核心 * @return IE6.0/IE7.0/IE8.0/FireFox/Opera/other * @author ypz */ functi ...
最新文章
- NSIS中判断.net framework 是否安装
- python作业是什么意思_Python12.21-基本数据类型学习笔记和作业,python1221,及
- 代码演示:获取锁时被中断
- 【AtCoder - 2554】Choose Integers (找规律,或枚举)
- PHP开发中涉及到emoji表情的几种处理方法
- 前端(jQuery)(10)-- jQuery标签切换
- 修正的判定条件覆盖例题_硬核:嵌入式代码覆盖率统计方法和经验
- 设计一台模型计算机 实现下列指令系统,基本模型机的设计与实现1
- python中正则表达式_Python中正则表达式详解
- bzoj 3504: [Cqoi2014]危桥(最大流)
- Openresty 与 Tengine
- 抖音网页版上线:这回可以在电脑上刷抖音啦!
- 苹果官网首页页面设计
- 牛客网-调整数组顺序使奇数位于偶数前面
- 使用nbsp;Windowsnbsp;Serveramp;nb…
- xamp环境搭建Pikachu实验环境搭建
- 文件服务器整机克隆,云服务器镜像克隆
- oracle数据库导出灰色_Oracle数据库导入导出命令总结
- 宇视NVR录像机下载录像没有声音如何解决
- 没有一只蟹能活着爬出上海
热门文章
- 帝国cms e loop php,帝国cms灵动标签e:loop实例学习
- InfoGAN:Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets
- 【案例分享】沃尔沃FMX V4 Euro 6 燃油压力故障诊断
- 周志华、贾扬清入选!2022中国高被引学者榜单揭晓,计算机界214人上榜
- 2.Lambda表达式
- 因上努力,果上随缘。
- 详细解读Windows8.1 Update中的WIMBoot新特性
- 青囊如可授 从此访鸿蒙 意思,江南水寺中元夜,金粟栏边见月娥.什么意思
- 最全ARM体系结构知识:汇编、架构、异常级别和安全状态
- h3c端口聚合实现服务器增加带宽,H3C 交换机链路聚合与服务器 bond0 负载均衡设置...