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自带检测浏览器内核的方法:
例如我的测试:
- alert( JSON.stringify($.browser));
- alert( $.browser.version );
结果:
chrome:
IE11:WC--IE11用的火狐的引擎
:
IE10:(microsoft internet explorer
火狐:
JS判断客户浏览器是否是IE8浏览器、jQuery判断浏览器内核的更多相关文章
- js判断客户浏览器类型,版本
在JS中判断浏览器的 类型,估计是每个编辑过页面的开发人员都遇到过的问题.在众多的浏览器产品中,IE.Firefox.Opera.Safari........众多品牌 却标准不一,因此时常需要根据不同 ...
- js/jquery判断浏览器的方法小结
在网站前端开发中,浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本,而判断浏览器的版本一般只能通过分析浏览器的userAgent才能知道.今天我们把 ...
- js/jquery判断浏览器 & 停止加载
JS获取浏览器信息 复制代码代码如下: 浏览器代码名称:navigator.appCodeName浏览器名称:navigator.appName浏览器版本号:navigator.appVersion对 ...
- js,onblur后下一个控件获取焦点判断、html当前活跃控件、jquery版本查看、jquery查看浏览器版本、setTimeout&setInterval
需求: input控件在失去焦点后直接做验证,验证通不过的话,显示相应错误.但是如果失去焦点后点击的下个控件是比较特殊的控件(比如,退出系统),那么不执行验证操作,直接退出系统(防止在系统退出前,还显 ...
- js/jQuery判断浏览器名称、内核版本、浏览器壳
1.js方法 /* 判断浏览器名称和版本 目前只能判断:ie/firefox/chrome/opera/safari 2012年5月16日23:47:08 浏览器内核UA:UA; 浏览器内核名称:NV ...
- js/jquery判断浏览器的方法总结
JS获取浏览器信息浏览器代码名称:navigator.appCodeName浏览器名称:navigator.appName浏览器版本号:navigator.appVersion对Java的支持:nav ...
- jquery判断浏览器版本插件,jquery-browser.js
jquery判断浏览器版本插件,jquery-browser.js,jquery 判断是否为ie浏览器插件 >>>>>>>>>>>&g ...
- JS/JQuery判断是否移动设备+JS/JQuery判断浏览器类型
原文:https://blog.csdn.net/Little_Stars/article/details/48624669 JS代码如下(点击事件依赖JQuery): //判断设备类型 $(&quo ...
- JAVASCRIPT和JQUERY判断浏览器信息总汇(备忘)
<script type="text/javascript"> //jquery判断浏览器信息 $(function(){ ...
- jQuery兼容浏览器IE8方法
在维护公司网站的时候,发现在IE8下jquery会报对象不支持此属性或方法.缺少对象的错误: 在其他浏览器就可以正常运行,当前使用的jquery版本是3.1.1,查资料发现jquery从2.0开始不 ...
随机推荐
- Android的环境搭建
尽管以前并没有接触过软件开发.但是,现在网络资源实在是太丰富了.所以网搜了一下,认为Android的环境搭建可分为以下五个步骤来完成.第一步:安装JDK:第二步:配置Windows上JDK的变量环境: ...
- Photoshop的混合模式
1.亮度是一种颜色的相对亮度,饱和度是指一种颜色的纯度(颜色中包含多少灰) 2.混合模式 下层图片的颜色像素称为"基本颜色":选定的称为"混合"颜色,对于大部分 ...
- 【iMooc】全面解析java注解
在慕课上学习了一个关于java注解的课程,下面是笔记以及一些源码. Annotation——注解 1.JDK中的注解 JDK中包括下面三种注解: @Override:标记注解(marker annot ...
- [开源中国]Windows 10 全球市场份额正式超越 Windows 7
Windows 10 全球市场份额正式超越 Windows 7 全球知名科技数据调查公司 Netmarketshare 昨天发布了2018年12月份最新的桌面操作系统份额报告.对于微软来说,这是历史一 ...
- [转贴]CentOS7.5 Kubernetes V1.13(最新版)二进制部署集群
CentOS7.5 Kubernetes V1.13(最新版)二进制部署集群 http://blog.51cto.com/10880347/2326146 一.概述 kubernetes 1.13 ...
- WebSocket 时时双向数据,前后端(聊天室)
https://blog.csdn.net/lecepin/article/details/54632749 实例内容 今天主要说一下微信的WebSocket接口以及在小程序中的使用. WebSock ...
- Spring之c3p0连接池xml配置和使用举例
1.导入jar包 c3p0-0.9.5.2.jar mchange-commons-java-0.2.11.jar 2.源码: beans.xml <beans xmlns="http ...
- BZOJ2324 ZJOI2011营救皮卡丘(floyd+上下界费用流)
虽然不一定每次都是由编号小的点向编号大的走,但一个人摧毁的顺序一定是从编号小的到编号大的.那么在摧毁据点x的过程中,其只能经过编号小于x的点.并且这样一定合法,因为可以控制其他人先去摧毁所经过的点.那 ...
- P4932 浏览器
题目背景 __stdcall在用Edge玩slay的时候,鼠标会经常失灵,这让她十分痛苦,因此她决定也要让你们感受一下Edge制造的痛苦. 题目描述 __stdcall给了你n个点,第i个点有权值x[ ...
- PL/SQL如何设置当前格局确保每次打开都给关闭前一样
打开plsql --> windows-->save layout 即可