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