用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 相关文章推荐
网页设计常用的一些技巧
Dec 22 Javascript
jQuery 中关于CSS操作部分使用说明
Jun 10 Javascript
60行js代码实现俄罗斯方块
Mar 31 Javascript
javaScript中的原型解析【推荐】
May 05 Javascript
AngularJS 实现JavaScript 动画效果详解
Sep 08 Javascript
js实现交通灯效果
Jan 13 Javascript
浅析Vue自定义组件的v-model
Nov 26 Javascript
探索Vue高阶组件的使用
Jan 08 Javascript
Django+Vue跨域环境配置详解
Jul 06 Javascript
vue解决弹出蒙层滑动穿透问题的方法
Sep 22 Javascript
彻底弄懂 JavaScript 执行机制
Oct 23 Javascript
微信小程序实现单个卡片左滑显示按钮并防止上下滑动干扰功能
Dec 06 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中的数组操作函数整理
2008/08/18 PHP
php setcookie(name, value, expires, path, domain, secure) 参数详解
2013/06/28 PHP
PHP实现将视频转成MP4并获取视频预览图的方法
2015/03/12 PHP
php中关于socket的系列函数总结
2015/05/18 PHP
WordPress中制作导航菜单的PHP核心方法讲解
2015/12/11 PHP
php中isset与empty函数的困惑与用法分析
2019/07/05 PHP
在jQuery ajax中按钮button和submit的区别分析
2012/10/07 Javascript
javascript中onclick(this)用法介绍
2013/04/19 Javascript
JS在TextArea光标位置插入文字并实现移动光标到文字末尾
2013/06/21 Javascript
jQuery实现的网页右下角tab样式在线客服效果代码
2015/10/23 Javascript
jquery可定制的在线UEditor编辑器
2015/11/17 Javascript
Extjs4.0 ComboBox如何实现三级联动
2016/05/11 Javascript
JavaScript从0开始构思表情插件
2016/07/26 Javascript
基于JavaScript实现购物车功能
2017/02/07 Javascript
如何获取vue单文件自身源码路径
2019/05/06 Javascript
vue-cli创建的项目中的gitHooks原理解析
2020/02/14 Javascript
ES6 Symbol在对象中的作用实例分析
2020/06/06 Javascript
javascript实现点击按钮切换轮播图功能
2020/09/23 Javascript
js删除指定位置超链接中含有百度与360的标题
2021/01/06 Javascript
Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
2017/07/24 Python
python实现淘宝秒杀脚本
2020/06/23 Python
对django的User模型和四种扩展/重写方法小结
2019/08/17 Python
Python OpenCV视频截取并保存实现代码
2019/11/30 Python
PyTorch学习:动态图和静态图的例子
2020/01/06 Python
canvas 实现 github404动态效果的示例代码
2017/11/15 HTML / CSS
Omio葡萄牙:全欧洲低价大巴、火车和航班搜索和比价
2019/02/09 全球购物
Etam德国:内衣精品店
2019/08/25 全球购物
小学六一儿童节活动方案
2014/08/27 职场文书
甘南现象心得体会
2014/09/11 职场文书
小学生国庆65周年演讲稿范文(2篇)
2014/09/21 职场文书
四风自我剖析材料
2014/09/30 职场文书
地陪导游欢迎词
2015/01/26 职场文书
学习十八大的感悟
2015/08/11 职场文书
大学生入党自我鉴定范文
2019/06/21 职场文书
Python自动化之批量处理工作簿和工作表
2021/06/03 Python
MySQL的安装与配置详细教程
2021/06/26 MySQL