手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >用js判断用户浏览器是否是XP SP2的IE6
用js判断用户浏览器是否是XP SP2的IE6
摘要:由于WindowsXP的补丁SP2,对IE6的安全性也做了很多的提升,使得有不少原来我们可以使用的功能,会变得很奇怪甚至歇菜掉:(。特别是弹...

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

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

1、WindowsXP+SP1(NT5.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;MSIE6.0;WindowsNT5.1;SV1;.NETCLR1.1.4322)

2、Windows2003+SP1(NT5.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;MSIE6.0;WindowsNT5.2;SV1;.NETCLR1.1.4322)

UA-CPU:x86

这两个UAstring和普通的UAstring最大区别就是,里面多了一个"SV1"标志,这个是什么意思呢?SV1的本意是"SecurityVersion1",它就是用来专门标注使用IE6浏览器的用户使用的操作系统是否是XPSP2或WS03SP1。

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

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

varua=navigator.userAgent;

if(ua.indexOf("SV1")!=-1)

{

if(ua.indexOf("NT5.1")!=-1)

{

//windowsxp+sp2

}

elseif(ua.indexOf("NT5.2")!=-1)

{

//windows2003+sp1

}

else

{

//wronguseragentstring

}

}

【用js判断用户浏览器是否是XP SP2的IE6】相关文章:

用户输入密码的强度

JQuery分屏指示器图片轮换效果实例

JavaScript实现DIV层拖动及动态增加新层的方法

JS实现动态生成表格并提交表格数据向后端

JavaScript的9种继承实现方式归纳

判断file框选择的是否为图片

Jquery跨浏览器文本复制插件Zero Clipboard的使用方法

判断checkbox选择的个数 多浏览器

js判断鼠标位置是否在某个div中的方法

JavaScript中eval函数的问题

精品推荐
分类导航