用js判断用户浏览器是否是XP SP2的IE6


Posted in Javascript onMarch 08, 2007

由于Windows XP的补丁SP2,对IE6的安全性也做了很多的提升,使得有不少原来我们可以使用的功能,会变得很奇怪甚至歇菜掉:(。特别是弹出窗口、模态窗口和Popup窗口等受的影响相当大。那么我能不能判断用户使用的IE6是普通IE6(IE6sp1)还是IE6+xp sp2呢? 

    下面是两个比较典型的IE6浏览器UserAgent字段: 

    1、Windows XP + SP1 (NT 5.1) 
Connection: Keep-Alive 
Accept: */* 
Accept-Encoding: gzip, deflate 
Accept-Language: zh-cn 
Host: zhilee.aehk.com 
Referer: http://www.cnblogs.com/birdshome/archive/2005/03/11/113723.html 
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) 
    2、Windows 2003 + SP1 (NT 5.2) 
Connection: Keep-Alive 
Accept: */* 
Accept-Encoding: gzip, deflate 
Accept-Language: zh-cn 
Host: zhilee.aehk.com 
Referer: http://www.cnblogs.com/bluefee/archive/2005/03/28/127455.html 
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322) 
UA-CPU: x86 
    这两个UA string和普通的UA string最大区别就是,里面多了一个"SV1"标志,这个是什么意思呢?SV1的本意是"Security Version 1",它就是用来专门标注使用IE6浏览器的用户使用的操作系统是否是XPSP2或WS03SP1。 

    既然XPSP2和WS03SP1对IE6有影响,为什么不提升IE的版本号,而是单独使用SVX标注呢?IE开发团队是这么解释的,他们说虽然这两个操作系统的补丁对IE6的设置有影响,但是并没有修改IE6本身的任何功能,比如呈现、DHTML和DOM等。所以这样的一些安全设置不适合升级IE本身的版本号。 

    在后续的IE版本中,SVX标志可能会被移除,所以目前我们使用UA string检测操作系统的SP版本,只是一个临时的办法。 

var ua = navigator.userAgent; 
if ( ua.indexOf("SV1") != -1 ) 

    if ( ua.indexOf("NT 5.1") != -1 ) 
    { 
        // windows xp + sp2 
    } 
    else if ( ua.indexOf("NT 5.2") != -1 ) 
    { 
        // windows 2003 + sp1 
    } 
    else 
    { 
        // wrong user agent string 
    } 

Javascript 相关文章推荐
Jquery下:nth-child(an+b)的使用注意
May 28 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
Nov 12 Javascript
浅谈js对象属性 通过点(.) 和方括号([]) 的不同之处
Oct 29 Javascript
使用Ajax与服务器(JSON)通信实例
Nov 04 Javascript
使用node.js中的Buffer类处理二进制数据的方法
Nov 26 Javascript
使用Angular缓存父页面数据的方法
Jan 03 Javascript
微信小程序tabbar不显示解决办法
Jun 08 Javascript
vue几个常用跨域处理方式介绍
Feb 07 Javascript
实现elementUI表单的全局验证的方法步骤
Apr 29 Javascript
微信小程序云开发之数据库操作
May 18 Javascript
微信小程序防止多次点击跳转和防止表单组件输入内容多次验证功能(函数防抖)
Sep 19 Javascript
Vue登录主页动态背景短视频制作
Sep 21 Javascript
在IE模态窗口中自由查看HTML源码的方法
Mar 08 #Javascript
encode脚本和normal脚本混用的问题与解决方法
Mar 08 #Javascript
IE7提供XMLHttpRequest对象为兼容
Mar 08 #Javascript
使用onbeforeunload属性后的副作用
Mar 08 #Javascript
HTML中不支持静态Expando的元素的问题
Mar 08 #Javascript
使用TextRange获取输入框中光标的位置的代码
Mar 08 #Javascript
获取JavaScript用户自定义类的类名称的代码
Mar 08 #Javascript
You might like
PHP新手上路(十四)
2006/10/09 PHP
php 防止单引号,双引号在接受页面转义
2008/07/10 PHP
php中利用str_pad函数生成数字递增形式的产品编号
2013/09/30 PHP
php实现购物车功能(下)
2016/01/05 PHP
PHP生成word文档的三种实现方式
2016/11/14 PHP
jQuery使用手册之一
2007/03/24 Javascript
List the Codec Files on a Computer
2007/06/11 Javascript
js判断屏幕分辨率的代码
2013/07/16 Javascript
js获取判断上传文件后缀名的示例代码
2014/02/19 Javascript
使用AngularJS创建单页应用的编程指引
2015/06/19 Javascript
理解Javascript的call、apply
2015/12/16 Javascript
原生JS简单实现ajax的方法示例
2016/11/29 Javascript
Angular实现跨域(搜索框的下拉列表)
2017/02/16 Javascript
微信小程序 地图map实例详解
2017/06/07 Javascript
详解Angular5 服务端渲染实战
2018/01/04 Javascript
JavaScript实现计算圆周率到小数点后100位的方法示例
2018/05/08 Javascript
Vue中的作用域CSS和CSS模块的区别
2018/10/09 Javascript
Bootstrap实现省市区三级联动(亲测可用)
2019/07/26 Javascript
JavaScript中clientWidth,offsetWidth,scrollWidth的区别
2021/01/25 Javascript
[00:53]TI3正赛第三天 DK怒破A队不败金身 现场国旗飘扬热血激昂
2013/08/10 DOTA
[01:02:17]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG
2014/05/26 DOTA
Python二分法搜索算法实例分析
2015/05/11 Python
python中函数传参详解
2016/07/03 Python
Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
2017/08/08 Python
Python实现的多叉树寻找最短路径算法示例
2018/07/30 Python
详解Python并发编程之从性能角度来初探并发编程
2019/08/23 Python
Python实现手机号自动判断男女性别(实例解析)
2019/12/22 Python
HTML5实现可缩放时钟代码
2017/08/28 HTML / CSS
2014院党委领导班子对照检查材料思想汇报
2014/09/24 职场文书
体育运动会广播稿
2014/10/05 职场文书
2015年营业员工作总结
2015/04/23 职场文书
有关三国演义的读书笔记
2015/06/25 职场文书
小米11和iphone12哪个值得买?小米11对比iphone12评测
2021/04/21 数码科技
pytorch中的numel函数用法说明
2021/05/13 Python
MySQL 如何设计统计数据表
2021/06/15 MySQL
pandas进行数据输入和输出的方法详解
2022/03/23 Python