用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插件制作 手风琴Panel效果实现
Aug 17 Javascript
jquery网页元素拖拽插件效果及实现
Aug 05 Javascript
angularJS 入门基础
Feb 09 Javascript
JavaScript中Function()函数的使用教程
Jun 04 Javascript
Javascript for in的缺陷总结
Feb 03 Javascript
利用jquery去掉时光轴头尾部线条的方法实例
Jun 16 jQuery
微信小程序-滚动消息通知的实例代码
Aug 03 Javascript
浅谈实现vue2.0响应式的基本思路
Feb 13 Javascript
如何手动实现es5中的bind方法详解
Dec 07 Javascript
微信小程序云开发详细教程
May 16 Javascript
微信小程序页面上下滚动效果
Nov 18 Javascript
vue 出现data-v-xxx的原因及解决
Aug 04 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 用checkbox一次性删除多条记录的方法
2010/02/23 PHP
PHP、Java des加密解密实例
2015/04/27 PHP
mod_php、FastCGI、PHP-FPM等PHP运行方式对比
2015/07/02 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
Extjs TriggerField在弹出窗口显示不出问题的解决方法
2010/01/08 Javascript
读jQuery之三(构建选择器)
2011/06/11 Javascript
js控制文本框输入的字符类型方法汇总
2015/06/19 Javascript
node.js读取文件到字符串的方法
2015/06/29 Javascript
javascript 常用验证函数总结
2016/06/28 Javascript
实例解析ES6 Proxy使用场景介绍
2018/01/08 Javascript
js实现图片上传并预览功能
2018/08/06 Javascript
vue 登录滑动验证实现代码
2018/08/24 Javascript
[02:19]DOTA2上海特级锦标赛 观赛指南 Spectator Guide
2016/02/04 DOTA
[01:06:30]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第二场 1月9日
2021/03/11 DOTA
Python警察与小偷的实现之一客户端与服务端通信实例
2014/10/09 Python
Python实现将DOC文档转换为PDF的方法
2015/07/25 Python
Python简单实现自动删除目录下空文件夹的方法
2017/08/29 Python
基于Python List的赋值方法
2018/06/23 Python
python多进程并行代码实例
2019/09/30 Python
python3 dict ndarray 存成json,并保留原数据精度的实例
2019/12/06 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
2020/05/26 Python
Python pymysql模块安装并操作过程解析
2020/10/13 Python
只要五步 就可以用HTML5/CSS3快速制作便签贴特效(图)
2012/06/04 HTML / CSS
HTML5实现WebSocket协议原理浅析
2014/07/07 HTML / CSS
Pure Collection美国官网:来自英国羊绒专家的奢华羊绒
2017/11/19 全球购物
小学生自我评价范文
2014/01/25 职场文书
会计专业自我鉴定
2014/02/10 职场文书
市场营销求职信范文
2014/02/21 职场文书
2014年社区植树节活动方案
2014/02/28 职场文书
劳资协议书范本
2014/04/23 职场文书
2014年高三班主任工作总结
2014/12/05 职场文书
婚宴领导致辞
2015/07/28 职场文书
CSS3 制作的书本翻页特效
2021/04/13 HTML / CSS
Python中X[:,0]和X[:,1]的用法
2021/05/10 Python
总结三种用 Python 作为小程序后端的方式
2022/05/02 Python