ie11的版本判断
我的电脑昨天更新的时候把ie11给更新出来了,然后发现我的skylineweb项目提示我的浏览器不是ie,这样显然是浏览器检测出现了问题。查找后找到了下面的解决方法。大家的电脑如果也更新成了ie11的话,再去打开别的网上已经发布的三维项目的话,会发现无法加载。同样是浏览器的检测的问题。且看正文:
skyline平台只支持ie,这样我们在做skyline的项目时必须在场景加载前进行浏览器检测。当不是ie时,给客户提醒“请使用ie”;当是ie时,判断ie的版本,这样客户可以让客户按照ie的版本来安装相应的TE Pro。
且看下面段代码:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
function CheckBrowser() { ua = navigator.userAgent; ua = ua.toLocaleLowerCase(); if (ua.match(/msie/) != null ) { browserType = "IE"; browserVersion = ua.match(/msie ([\d.]+)/)[1]; } else if (ua.match(/firefox/) != null) { browserType = "火狐"; } else if (ua.match(/opera/) != null) { browserType = "欧朋"; } else if (ua.match(/chrome/) != null) { browserType = "谷歌"; } else if (ua.match(/safari/) != null) { browserType = "Safari"; } var arr = new Array(browserType, browserVersion); return arr;} |
上面思路是通过浏览器的userAgent值来判断(字符串),抓住各个浏览器userAgent值里面的不同字符串值。下面大家得学习下一篇关于ie11的介绍,我就是从那里学习,得出检测ie11的办法:
http://www.ithome.com/html/ie/48082.htm
我从里面抠出主要的部分:

从ie11的userAgent字符串,看出要判断ie11,得改为对Trident值的判断,但是获取版本的时候又得通过“rv 11.0”来获取。这样想到下面的方法:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
function CheckBrowser() { ua = navigator.userAgent; ua = ua.toLocaleLowerCase(); if (ua.match(/msie/) != null || ua.match(/trident/) != null) { browserType = "IE"; //哈哈,现在可以检测ie11.0了! browserVersion = ua.match(/msie ([\d.]+)/) != null ? ua.match(/msie ([\d.]+)/)[1] : ua.match(/rv:([\d.]+)/)[1]; } else if (ua.match(/firefox/) != null) { browserType = "火狐"; } else if (ua.match(/opera/) != null) { browserType = "欧朋"; } else if (ua.match(/chrome/) != null) { browserType = "谷歌"; } else if (ua.match(/safari/) != null) { browserType = "Safari"; } var arr = new Array(browserType, browserVersion); return arr;} |
大家看,在11.0以下的版本,ie会通过ua.match(/msie ([\d.]+)/)[1]获取版本号,当是ie11.0时,会通过 ua.match(/rv:([\d.]+)/)[1]来获取版本号。
ie11的版本判断的更多相关文章
- [完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器
截至自2017-08-11,支持现世已出的几乎所有PC端浏览器版本判断. 受支持的PC端浏览器列表: Edge IE Chrome Firefox Opera Safari QQ浏览器 360系列浏览 ...
- Android版本判断
尽管Android向下兼容不好,但是一个程序还是可以在多个平台上跑的.向下兼容不好,接口改变,新的平台上不能用旧的API,旧的平台更不可能用新的API,不等于一个平台需要一个APK.可以在高版本的SD ...
- Windows 系统版本判断
Windows 系统版本判断 博客分类: C/C++ 很多情况下,需要软件判断操作系统,其实网上写的都很少,我希望这篇文章能给大家帮助 首先我们要在.h中定义下面的东西 #define PRODU ...
- @TargetAPI + 版本判断实现高低API版本兼容
安卓开发中,在低版本SDK使用高版本的API会报错.一般处理方法是换一种实现方法,或者在高版本SDK中使用高版本API,低版本SDK中使用效果可能会差点的折衷方案:后者可以用如下技巧来实现. 步骤 S ...
- ie 版本判断脚本
// 获取IE版本 /** * @return {string} */ function IEVersion() { // 取得浏览器的userAgent字符串 var userAgent = nav ...
- PHP 版本判断 version_compare() 函数
在度娘中简单的找了下,判断当前PHP的版本是否高于某个版本,或者低于某个版本的方法 显示的结果基本上都是一样的,好吧,要不是我忘记了version_compare()这个函数我才不会去找度娘,果断找以 ...
- [JavaCore] 微信手机浏览器版本判断
公司要做微支付,微信浏览器版本要大于5 package com.garinzhang.web.weixin; import org.apache.commons.lang.StringUtils; i ...
- Win95+IE3 – Win10+IE11全版本执行漏洞(含POC)
微软本月安全更新修复了一个潜藏了18年的IE远程代码执行漏洞(CVE-2014-6332),可以说是给windows吃了一颗大补丸.缺陷出现在VBScript的代码中,自Windows 95首次发布( ...
- IOS版本判断
-(void)getIOSVersion { //#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 50000 //此方法和编译器相关 //quanju.iOS ...
随机推荐
- 重构JS代码 - 让JS代码平面化
js中的嵌套函数用的很多,很牛叉,那为何要平面化? 易懂(自己及他人) 易修改(自己及他人) 平时Ajax调用写法(基于jQuery) $.post('url', jsonObj, function ...
- Item 22: 当使用Pimpl机制时,在实现文件中给出特殊成员函数的实现
本文翻译自<effective modern C++>,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 博客已经迁移到这里啦 如果你曾经同过久的编译时间斗争过,那么你肯定对Pi ...
- Leetcode -- 258 数位相加
258. Given a non-negative integer num, repeatedly add all its digits until the result has only one d ...
- Python入门-字符串常用方法
Python 字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可. var1 = 'Hello Worl ...
- numpy中random的使用
import numpy as np a=np.random.random()#用于生成一个0到1的随机浮点数: 0 <= n < 1.0print(a)0.772000903322952 ...
- sql 查询优化小计
好久没更博了,偷偷的抽时间写一下. 早上开始working的时候,发现一个页面加载很慢,经排查是昨天写的一条联合查询的sql导致的.于是着手优化! 首先想到的是在join的时候,减少表体积之后再进行关 ...
- Iar8.1安装包破解
Iar8.1安装包链接链接:https://pan.baidu.com/s/1F6sxEcatk3_YPq47lvc8Mw 密码:mnlz 破解链接 https://www.cnblogs.com/ ...
- Vue基本使用和指令集
Vue的使用 一.安装 对于新手来说,强烈建议大家使用<script>引入: 二. 引入vue.js文件 我们能发现,引入vue.js文件之后,Vue被注册为一个全局的变量,它是一个构造函 ...
- Linux 环境变量梳理
Linux中的环境变量有两种:全局变量和局部变量: 定义.访问.删除局部变量 查看全局变量 可以使用printenv或者env命令来打印所有的全局变量. 访问某一项全局变量,可以使用printenv ...
- HTML,CSS笔记
text-indent 属性规定文本块中首行文本的缩进.允许使用负值.如果使用负值,那么首行会被缩进到左边.p{ text-indent:50px; } HTML <label> 标签的 ...