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 ...
随机推荐
- 三、xadmin----内置插件
1.Action Xadmin 默认启用了批量删除的事件,代码见xadmin-->plugins-->action.py DeleteSelectedAction 如果要为list列表添 ...
- 前端自动化 shell 脚本命令 与 shell-node 脚本命令 简单使用 之 es6 转译
(背景: 先用 babel 转译 es6 再 用 browserify 打包 模块化文件,来解决浏览器不支持模块化 )(Browserify是一个让node模块可以用在浏览器中的神奇工具) 今天折腾了 ...
- Tomcat搭建Web 应用服务器
和安卓联合开发,测试手机设配效果,被安卓开发大神同事一顿鄙视之后,愤然而起自己搭建了一个本地服务器(愤怒 玻璃心使我成长~哈哈) java+tomcat安装 java安装 注册oracle账号: 手机 ...
- c++入门之字符相关入门
先上代码: # include "iostream" # include "string" //# define BYTE char//注意,这里没有分号,且# ...
- 利用lnmp一键安装的php环境忘记mysql,root用户密码解决方法
1.cd /lnmp1.5/tools/ 2.sh reset_mysql_root_password.sh 这样,即可完成修改!
- Day13 Python基础之time/datetime/random模块一(十一)
time模块 import time print(help(time)) time.time() #return current time in seconds since the Epoch as ...
- GFS浅析
1 . 简介 GFS, Big Table, Map Reduce称为Google的三驾马车,是许多基础服务的基石 GFS于2003年提出,是一个分布式的文件系统,与此前的很多分布式系统的前提假设存在 ...
- Python之操作redis数据库
使用redis模块 一.操作redis 1.添加信息 (1)直接建key-value信息: 右键-Add New Key,手动添加key和value 右键-Console,打开控制台,写入命令 (2) ...
- asp.net core发布到linux
在发布到linux的过程中出现两个问题现在总结一下: 我的虚拟机是安装到本机上面的,所以,应该在虚拟机的设置里面设置端口映射.具体设置如下: 选择vm上方的编辑 在弹出的框中选择VMnet8,点击下方 ...
- easyUI 数据表格datagrid的使用
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...