在JavaScript中檢測(cè)IE版本(v9之前)如果用戶使用的是Internet Explorer在第9節(jié)之前。只是不值得我們花時(shí)間和金錢去支持IE pre-v9..所有其他非IE瀏覽器的用戶都很好,不應(yīng)該被反彈。以下是建議的代碼:if(navigator.appName.indexOf("Internet Explorer")!=-1){ //yeah, he's using IE
var badBrowser=(
navigator.appVersion.indexOf("MSIE 9")==-1 && //v9 is ok
navigator.appVersion.indexOf("MSIE 1")==-1 //v10, 11, 12, etc. is fine too
);
if(badBrowser){
// navigate to error page
}}這段代碼能起作用嗎?為了避免一些可能會(huì)出現(xiàn)在我面前的評(píng)論:是的,我知道用戶可以偽造他們的useragent繩子。我不擔(dān)心。是的,我知道編程專家更喜歡嗅探特性支持而不是瀏覽器類型,但我覺(jué)得這種方法在這種情況下是沒(méi)有意義的。我已經(jīng)知道所有(相關(guān)的)非IE瀏覽器都支持我需要的特性,以及所有這些特性。pre-v9 IE瀏覽器不會(huì)這樣做,在整個(gè)站點(diǎn)中逐項(xiàng)檢查功能將是一種浪費(fèi)。是的,我知道有人試圖訪問(wèn)這個(gè)網(wǎng)站IE v1(或>=20)不會(huì)將‘badBrowser’設(shè)置為true,警告頁(yè)面也不會(huì)正確顯示。我們?cè)敢饷斑@個(gè)險(xiǎn)。是的,我知道微軟有“條件注釋”,可以用于精確的瀏覽器版本檢測(cè)。的時(shí)候,ie不再支持有條件的注釋。IE 10使這種方法毫無(wú)用處。還有其他明顯的問(wèn)題要注意嗎?
在JavaScript中檢測(cè)IE版本(v9之前)
幕布斯6054654
2019-06-28 15:47:36