国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

前端開發過程中瀏覽器版本的兩種判定方法

2024-05-06 15:53:48
字體:
來源:轉載
供稿:網友
前端開發過程中經常需要判斷瀏覽器的版本,達到同時兼容多個瀏覽器的目的,下面有兩種不錯的常用方法:jquery及HTML中的注釋,喜歡的朋友可以參考下

在網上查找瀏覽器及版本判定方法有好多,此處小弟總結一二,以節省大家時間。

1.jquery的方法:

通過正則表達式可判定常用瀏覽器及其版本。

復制代碼 代碼如下:


<span>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>


此處用到“===”,了解到其與“==”和“=”的關系

=這個就不多說了,開發中是給參數賦值。

== equality 等同,=== identity 恒等。
==, 兩邊值類型不同的時候,要先進行類型轉換,再比較。
===,不做類型轉換,類型不同的一定不等。

For Example:
如果兩個值類型不同,他們可能相等。根據下面規則進行類型轉換再比較:
a、如果一個是null、一個是undefined,那么[相等]。
b、如果一個是字符串,一個是數值,把字符串轉換成數值再進行比較。
c、如果任一值是 true,把它轉換成 1 再比較;如果任一值是 false,把它轉換成 0 再比較。
d、如果一個是對象,另一個是數值或字符串,把對象轉換成基礎類型的值再比較。對象轉換成基礎類型,利用它的toString或者valueOf方法。js核心內置類,會嘗試valueOf先于toString;例外的是Date,Date利用的是toString轉換。

2.HTML中的注釋方法

(1)HTML中的注釋方法
可使用如下代碼檢測當前IE瀏覽器的版本(注意:在非IE瀏覽器中是看不到效果的),此方法用于IE5及以上版本。
HTML 的注釋格式是 <!-- Comment content --> , IE 對HTML注釋做了一些擴展,使之可以支持條件判斷表達式:
<!--[if expression]> HTML <![endif]--> 當表達式expression 為True 的時候,顯示 HTML 內容。
[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)應該如何應用條件注釋

因為IE各版本的瀏覽器對我們制作的WEB標準的頁面解釋不一樣,具體就是對CSS的解釋不同,我們為了兼容這些,可運用條件注釋來各自定義,最終達到兼容的目的。

比如: < !–- 默認先調用css.css樣式表 –->

<link type="text/css" href="css.css" />< !-–[if IE 7]>

<!–- 如果IE瀏覽器版是7,調用ie7.css樣式表- –>

<link type="text/css" href="ie7.css" />< ![endif]–->

<!–-[if lte IE 6]>

<!–- 如果IE瀏覽器版本小于等于6,調用ie.css樣式表 -–>

<link type="text/css" href="ie.css" />< ![endif]–> 這其中就區分了IE7和IE6向下的瀏覽器對CSS的執行,達到兼容的目的。同時,首行默認的css.css還能與其他非IE瀏覽器實現兼容。

注意:默認的CSS樣式應該位于HTML文檔的首行,進行條件注釋判斷的所有內容必須位于該默認樣式之后。 比如如下代碼,在IE瀏覽器下執行顯示為紅色,而在非IE瀏覽器下顯示為黑色。如果把條件注釋判斷放在首行,則不能實現。該例題很能說明網頁對IE瀏覽器和非IE瀏覽器間的兼容性問題解決。 <style type="text/css"> body{ background-color: #000; } < /style> < !-–[if IE]>

<style type="text/css">body{background-color: #F00;}< /style>< ![endif]–->

同時,有人會試圖使用<!–-[if !IE]>來定義非IE瀏覽器下的狀況,但注意:條件注釋只有在IE瀏覽器下才能執行,這個代碼在非IE瀏覽下非單不是執行該條件下的定義,而是當做注釋視而不見。

正常就是默認的樣式,對IE瀏覽器需要特殊處理的,才進行條件注釋。在HTML文件里,而不能在CSS文件中使用。

現在的DWcs4里面,已經裝備了這些注釋:在“窗口-->代碼片段-->注釋”里。其他的版本沒太注意到。

此文參考:判斷瀏覽器版本的語句,用于個瀏覽器兼容,js判斷運行jsp頁面的瀏覽器類型以及版本

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 克拉玛依市| 进贤县| 舟山市| 澄迈县| 日照市| 深圳市| 高雄县| 新丰县| 南华县| 河津市| 华容县| 禹城市| 晋江市| 祁门县| 乌拉特中旗| 农安县| 绥芬河市| 合江县| 东兴市| 姜堰市| 望都县| 顺义区| 农安县| 长宁县| 扶沟县| 滨州市| 清徐县| 永定县| 绵阳市| 万全县| 孝感市| 德州市| 贺州市| 息烽县| 张家界市| 喀什市| 泰兴市| 福清市| 新龙县| 金川县| 五峰|