用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 相关文章推荐
java script编程起步(第三课)
Jan 10 Javascript
jQuery asp.net 用json格式返回自定义对象
Apr 07 Javascript
javascript学习(一)构建自己的JS库
Jan 02 Javascript
node.js中的fs.existsSync方法使用说明
Dec 17 Javascript
JavaScript中循环遍历Array与Map的方法小结
Mar 12 Javascript
js实现加载页面就自动触发超链接的示例
Aug 31 Javascript
vue微信分享 vue实现当前页面分享其他页面
Dec 02 Javascript
JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法
Jun 07 Javascript
angularjs结合html5实现拖拽功能
Jun 25 Javascript
微信小程序onLaunch异步,首页onLoad先执行?
Sep 20 Javascript
js实现磁性吸附的示例
Oct 26 Javascript
vue实现拖拽交换位置
Apr 07 Vue.js
在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
新安装的MySQL数据库需要注意的安全知识
2008/07/30 PHP
php获取某个目录大小的代码
2008/09/10 PHP
php 远程关机操作的代码
2008/12/05 PHP
ThinkPHP写第一个模块应用
2012/02/20 PHP
php和jquery实现地图区域数据统计展示数据示例
2014/02/12 PHP
php递归调用删除数组空值元素的方法
2015/04/28 PHP
PHP实现冒泡排序的简单实例
2016/05/26 PHP
关于JavaScript的gzip静态压缩方法
2007/01/05 Javascript
文本框输入时 实现自动提示(像百度、google一样)
2012/04/05 Javascript
js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件
2014/01/27 Javascript
js实现支持手机滑动切换的轮播图片效果实例
2015/04/29 Javascript
JS实现不规则TAB选项卡效果代码
2015/09/16 Javascript
jquery实现左右无缝轮播图
2020/07/31 Javascript
BootStrap文件上传样式超好看【持续更新】
2016/05/10 Javascript
前端 Vue.js 和 MVVM 详细介绍
2016/12/29 Javascript
Vue.js父与子组件之间传参示例
2017/02/28 Javascript
Vue.js实现列表清单的操作方法
2017/11/15 Javascript
angularjs1.5 组件内用函数向外传值的实例
2018/09/30 Javascript
layui 选择列表,打勾,点击确定返回数据的例子
2019/09/02 Javascript
jquery添加div实现消息聊天框
2020/02/08 jQuery
python实现求解列表中元素的排列和组合问题
2018/03/15 Python
pytorch 把MNIST数据集转换成图片和txt的方法
2018/05/20 Python
python利用多种方式来统计词频(单词个数)
2019/05/27 Python
python中count函数简单用法
2020/01/05 Python
python如何将两张图片生成为全景图片
2020/03/05 Python
大学生学年自我鉴定
2014/02/10 职场文书
毕业生如何写自荐信
2014/03/26 职场文书
消防安全责任书范本
2014/04/15 职场文书
小学学校评估方案
2014/06/08 职场文书
信访工作个人总结
2015/03/03 职场文书
个人收入证明格式
2015/06/24 职场文书
2016应届毕业生实习心得体会
2015/10/09 职场文书
创业计划书之珠宝饰品
2019/08/26 职场文书
详解MySQL 用户权限管理
2021/04/20 MySQL
在python中读取和写入CSV文件详情
2022/06/28 Python
Java获取字符串编码格式实现思路
2022/09/23 Java/Android