用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.timer插件实现一个计时器
Apr 25 Javascript
js中关于String对象的replace使用详解
May 24 Javascript
jquery 定位input元素的几种方法小结
Jul 28 Javascript
利用jquery包将字符串生成二维码图片
Sep 12 Javascript
基于jQuery实现的菜单切换效果
Oct 16 Javascript
Backbone.js框架中Model与Collection的使用实例
May 07 Javascript
jQuery可见性过滤选择器用法示例
Sep 09 Javascript
微信小程序 MINA文件结构
Oct 17 Javascript
Bootstrap中data-target 到底是什么
Feb 14 Javascript
angularjs实现搜索的关键字在正文中高亮出来
Jun 13 Javascript
推荐10款扩展Web表单的JS插件
Dec 25 Javascript
OpenLayers实现图层切换控件
Sep 25 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
虫族 Zerg 历史背景
2020/03/14 星际争霸
php数字转汉字代码(算法)
2011/10/08 PHP
PHP curl 并发最佳实践代码分享
2012/09/05 PHP
php一行代码获取文件后缀名实例分析
2014/11/12 PHP
Centos下升级php5.2到php5.4全记录(编译安装)
2015/04/03 PHP
php图形jpgraph操作实例分析
2017/02/22 PHP
深入理解JavaScript系列(1) 编写高质量JavaScript代码的基本要点
2012/01/15 Javascript
jquery offset函数应用实例
2012/11/14 Javascript
表单序列化与jq中的serialize使用示例
2014/02/21 Javascript
jQuery中live()方法用法实例
2015/01/19 Javascript
常用DOM整理
2015/06/16 Javascript
JavaScript学习笔记之创建对象
2016/03/25 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
jQuery Easyui使用(二)之可折叠面板动态加载无效果的解决方法
2016/08/17 Javascript
JavaScript高阶函数_动力节点Java学院整理
2017/06/28 Javascript
JavaScript监听手机物理返回键的两种解决方法
2017/08/14 Javascript
vue编译打包本地查看index文件的方法
2018/02/23 Javascript
vue中本地静态图片路径写法
2018/03/06 Javascript
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
在Python中执行系统命令的方法示例详解
2017/09/14 Python
对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
2018/06/28 Python
PyQt编程之如何在屏幕中央显示窗体的实例
2019/06/18 Python
简单了解Pandas缺失值处理方法
2019/11/16 Python
数控技术专科生自我评价
2014/01/08 职场文书
出纳员的岗位职责
2014/02/22 职场文书
同学会主持词
2014/03/18 职场文书
讲文明懂礼貌演讲稿
2014/09/11 职场文书
贫困证明书格式及范文
2014/10/15 职场文书
群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
甲午风云观后感
2015/06/02 职场文书
2019年教师节祝福语精选,给老师送上真诚的祝福
2019/09/09 职场文书
创业计划书之家教托管
2019/09/25 职场文书
golang 实现对Map进行键值自定义排序
2021/04/28 Golang
使用Pytorch训练two-head网络的操作
2021/05/28 Python
一文搞懂redux在react中的初步用法
2021/06/09 Javascript
OpenCV项目实践之停车场车位实时检测
2022/04/11 Python