用js判斷用戶(hù)瀏覽器是否是XP SP2的IE6
更新時(shí)間:2007年03月08日 00:00:00 作者:
由于Windows XP的補(bǔ)丁SP2,對(duì)IE6的安全性也做了很多的提升,使得有不少原來(lái)我們可以使用的功能,會(huì)變得很奇怪甚至歇菜掉:(。特別是彈出窗口、模態(tài)窗口和Popup窗口等受的影響相當(dāng)大。那么我能不能判斷用戶(hù)使用的IE6是普通IE6(IE6sp1)還是IE6+xp sp2呢?
下面是兩個(gè)比較典型的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
這兩個(gè)UA string和普通的UA string最大區(qū)別就是,里面多了一個(gè)"SV1"標(biāo)志,這個(gè)是什么意思呢?SV1的本意是"Security Version 1",它就是用來(lái)專(zhuān)門(mén)標(biāo)注使用IE6瀏覽器的用戶(hù)使用的操作系統(tǒng)是否是XPSP2或WS03SP1。
既然XPSP2和WS03SP1對(duì)IE6有影響,為什么不提升IE的版本號(hào),而是單獨(dú)使用SVX標(biāo)注呢?IE開(kāi)發(fā)團(tuán)隊(duì)是這么解釋的,他們說(shuō)雖然這兩個(gè)操作系統(tǒng)的補(bǔ)丁對(duì)IE6的設(shè)置有影響,但是并沒(méi)有修改IE6本身的任何功能,比如呈現(xiàn)、DHTML和DOM等。所以這樣的一些安全設(shè)置不適合升級(jí)IE本身的版本號(hào)。
在后續(xù)的IE版本中,SVX標(biāo)志可能會(huì)被移除,所以目前我們使用UA string檢測(cè)操作系統(tǒng)的SP版本,只是一個(gè)臨時(shí)的辦法。
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
}
}
下面是兩個(gè)比較典型的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
這兩個(gè)UA string和普通的UA string最大區(qū)別就是,里面多了一個(gè)"SV1"標(biāo)志,這個(gè)是什么意思呢?SV1的本意是"Security Version 1",它就是用來(lái)專(zhuān)門(mén)標(biāo)注使用IE6瀏覽器的用戶(hù)使用的操作系統(tǒng)是否是XPSP2或WS03SP1。
既然XPSP2和WS03SP1對(duì)IE6有影響,為什么不提升IE的版本號(hào),而是單獨(dú)使用SVX標(biāo)注呢?IE開(kāi)發(fā)團(tuán)隊(duì)是這么解釋的,他們說(shuō)雖然這兩個(gè)操作系統(tǒng)的補(bǔ)丁對(duì)IE6的設(shè)置有影響,但是并沒(méi)有修改IE6本身的任何功能,比如呈現(xiàn)、DHTML和DOM等。所以這樣的一些安全設(shè)置不適合升級(jí)IE本身的版本號(hào)。
在后續(xù)的IE版本中,SVX標(biāo)志可能會(huì)被移除,所以目前我們使用UA string檢測(cè)操作系統(tǒng)的SP版本,只是一個(gè)臨時(shí)的辦法。
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
}
}
您可能感興趣的文章:
- 用js判斷瀏覽器是否是IE的比較好的辦法
- js 全世界最短的IE瀏覽器判斷代碼
- js ie非ie瀏覽器的幾種判斷方法小結(jié)
- javascript判斷ie瀏覽器6/7版本加載不同樣式表的實(shí)現(xiàn)代碼
- 利用js判斷瀏覽器類(lèi)型(是否為IE,Firefox,Opera瀏覽器)
- js判斷IE瀏覽器版本過(guò)低示例代碼
- ExtJS判斷IE瀏覽器類(lèi)型的方法
- JavaScript中一個(gè)奇葩的IE瀏覽器判斷方法
- js代碼判斷瀏覽器種類(lèi)IE、FF、Opera、Safari、chrome及版本
- js判斷當(dāng)前瀏覽器類(lèi)型,判斷IE瀏覽器方法
- js判斷瀏覽器類(lèi)型為ie6時(shí)不執(zhí)行
- 原生js仿jq判斷當(dāng)前瀏覽器是否為ie,精確到ie6~8
- IE及IE6瀏覽器中判斷JS文件加載成功失敗的方法
- JS如何判斷是否為ie瀏覽器的方法(包括IE10、IE11在內(nèi))
相關(guān)文章
layer擴(kuò)展打開(kāi)/關(guān)閉動(dòng)畫(huà)的方法
今天小編就為大家分享一篇layer擴(kuò)展打開(kāi)/關(guān)閉動(dòng)畫(huà)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09Javascript中暫停功能的實(shí)現(xiàn)代碼
Javascript中暫停功能的實(shí)現(xiàn)代碼...2007-03-03js實(shí)現(xiàn)讓某個(gè)動(dòng)作延遲幾秒執(zhí)行
這篇文章主要介紹了使用js實(shí)現(xiàn)讓某個(gè)動(dòng)作延遲幾秒執(zhí)行的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06Javascript中產(chǎn)生固定結(jié)果的函數(shù)優(yōu)化技巧
分享一個(gè)Javascript編寫(xiě)函數(shù)的優(yōu)化技巧;適用的函數(shù)應(yīng)該要滿足以下條件;產(chǎn)生固定結(jié)果;復(fù)雜或較耗時(shí)等等,感興趣的朋友可以了解下2013-01-01在vs2010中調(diào)試javascript代碼方法
只在IE瀏覽器中測(cè)試成功了,在谷歌瀏覽中沒(méi)有測(cè)試成功,其他瀏覽器沒(méi)有測(cè)試。2011-02-02