在網(wǎng)上查找瀏覽器及版本判定方法有好多,此處小弟總結(jié)一二,以節(jié)省大家時間。
1.jquery的方法:
通過正則表達(dá)式可判定常用瀏覽器及其版本。
<span style="font-size:12px">function allinfo(){
var ua = navigator.userAgent;
ua = ua.toLowerCase();
var match = /(webkit)[ //]([/w.]+)/.exec(ua) ||
/(opera)(?:.*version)?[ //]([/w.]+)/.exec(ua) ||
/(msie) ([/w.]+)/.exec(ua) ||
!/compatible/.test(ua) && /(mozilla)(?:.*? rv:([/w.]+))?/.exec(ua) || [];
//如果需要獲取瀏覽器版本號:match[2]
switch(match[1]){
case "msie": //ie
if (parseInt(match[2]) === 6){ //ie6
alert("ie6");
alert("暫時不支持IE7.0及以下版本瀏覽器,請升級您的瀏覽器版本!");
//document.getElementById("hid").style.display = "none";
// document.getElementById("show").style.display = "block";
//document.getElementById("nosee_b").style.display = "none";
}
else if (parseInt(match[2]) === 7) { //ie7
alert("ie7");
//document.getElementById("hid").style.display = "none";
// document.getElementById("show").style.display = "block";
}
else if (parseInt(match[2]) === 8){ //ie8
alert("ie8");
}
else if(parseInt(match[2]) === 9){
alert("ie9");
//document.getElementById("hid").style.display = "none";
}
break;
case "webkit": //safari or chrome
//alert("safari or chrome");
// document.getElementById("middle").style.display = "none";
break;
case "opera": //opera
alert("opera");
break;
case "mozilla": //Firefox
alert("Firefox");
//document.getElementById("hid").style.display = "none";
break;
default:
break;
}
} </span>
此處用到“===”,了解到其與“==”和“=”的關(guān)系
=這個就不多說了,開發(fā)中是給參數(shù)賦值。
== equality 等同,=== identity 恒等。
==, 兩邊值類型不同的時候,要先進(jìn)行類型轉(zhuǎn)換,再比較。
===,不做類型轉(zhuǎn)換,類型不同的一定不等。
For Example:
如果兩個值類型不同,他們可能相等。根據(jù)下面規(guī)則進(jìn)行類型轉(zhuǎn)換再比較:
a、如果一個是null、一個是undefined,那么[相等]。
b、如果一個是字符串,一個是數(shù)值,把字符串轉(zhuǎn)換成數(shù)值再進(jìn)行比較。
c、如果任一值是 true,把它轉(zhuǎn)換成 1 再比較;如果任一值是 false,把它轉(zhuǎn)換成 0 再比較。
d、如果一個是對象,另一個是數(shù)值或字符串,把對象轉(zhuǎn)換成基礎(chǔ)類型的值再比較。對象轉(zhuǎn)換成基礎(chǔ)類型,利用它的toString或者valueOf方法。js核心內(nèi)置類,會嘗試valueOf先于toString;例外的是Date,Date利用的是toString轉(zhuǎn)換。
2.HTML中的注釋方法
(1)HTML中的注釋方法
可使用如下代碼檢測當(dāng)前IE瀏覽器的版本(注意:在非IE瀏覽器中是看不到效果的),此方法用于IE5及以上版本。
HTML 的注釋格式是 <!-- Comment content --> , IE 對HTML注釋做了一些擴展,使之可以支持條件判斷表達(dá)式:
<!--[if expression]> HTML <![endif]--> 當(dāng)表達(dá)式expression 為True 的時候,顯示 HTML 內(nèi)容。
[if IE] 判斷是否IE
[if !IE] 判斷是否不是IE
[if lt IE 5.5] 判斷是否是IE5.5 以下版本。 (<)
[if lte IE 6] 判斷是否等于IE6 版本或者以下 (<=)
[if gt IE 5] 判斷是否IE5以上版本 (> )
[if gte IE 7] 判斷是否 IE7 版本或者以上
[if !(IE 7)] 判斷是否不是IE7
[if (gt IE 5)&(lt IE 7)] 判斷是否大于IE5, 小于IE7
[if (IE 6)|(IE 7)] 判斷是否IE6 或者 IE7
lte:就是Less than or equal to的簡寫,也就是小于或等于的意思。 lt :就是Less than的簡寫,也就是小于的意思。 gte:就是Greater than or equal to的簡寫,也就是大于或等于的意思。 gt :就是Greater than的簡寫,也就是大于的意思。 ! : 就是不等于的意思,跟javascript里的不等于判斷符相同
例子:
<!--[if IE]><p>You are using Internet Explorer.</p><![endif]-->
<!--[if IE 7]><p>Welcome to Internet Explorer 7!</p><![endif]-->
<!--[if !(IE 7)]><p>You are not using version 7.</p><![endif]-->
<!--[if gte IE 7]><p>You are using IE 7 or greater.</p><![endif]-->
<!--[if (IE 5)]><p>You are using IE 5 (any version).</p><![endif]-->
<!--[if (gte IE 5.5)&(lt IE 7)]><p>You are using IE 5.5 or IE 6.</p><![endif]-->
<!--[if lt IE 5.5]><p>Please upgrade your version of Internet Explorer.</p><![endif]-->
(2)應(yīng)該如何應(yīng)用條件注釋
因為IE各版本的瀏覽器對我們制作的WEB標(biāo)準(zhǔn)的頁面解釋不一樣,具體就是對CSS的解釋不同,我們?yōu)榱思嫒葸@些,可運用條件注釋來各自定義,最終達(dá)到兼容的目的。
比如: < !
主站蜘蛛池模板:
迭部县|
阜康市|
陵水|
鄂托克前旗|
荆州市|
东莞市|
高青县|
海阳市|
张家口市|
孙吴县|
黎城县|
托克逊县|
诏安县|
鹤庆县|
咸阳市|
左云县|
延庆县|
江阴市|
建德市|
德兴市|
嘉定区|
永顺县|
绍兴市|
芦山县|
瓦房店市|
宁陕县|
宜章县|
招远市|
华蓥市|
西乌珠穆沁旗|
通道|
大竹县|
开鲁县|
玉环县|
安庆市|
确山县|
诸城市|
宁阳县|
锦屏县|
介休市|
镇安县|