最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript 檢測瀏覽器類型和版本的代碼

 更新時(shí)間:2009年09月15日 23:37:32   作者:  
如果對javascript了解不是特別深入的話,很容易就會寫出不兼容的代碼(就像我),這時(shí)候就得判斷瀏覽器了。比如事件偵聽、一些鼠標(biāo)和鍵盤事件、Range等,一些都會不一樣.下面列出幾種常用的檢測瀏覽器方法,以饗觀眾!
檢測瀏覽器及其版本的代碼
復(fù)制代碼 代碼如下:

getBrowser : function(){
var browser = {
msie: false, firefox: false, opera: false, safari: false,
chrome: false, netscape: false, appname: 'unknown', version: 0
},
userAgent = window.navigator.userAgent.toLowerCase();
if ( /(msie|firefox|opera|chrome|netscape)\D+(\d[\d.]*)/.test( userAgent ) ){
browser[RegExp.$1] = true;
browser.appname = RegExp.$1;
browser.version = RegExp.$2;
} else if ( /version\D+(\d[\d.]*).*safari/.test( userAgent ) ){ // safari
browser.safari = true;
browser.appname = 'safari';
browser.version = RegExp.$2;
}
return browser.appname + browser.version;
}

對象/特征檢測法

該方法是一種判斷瀏覽器能力(而非瀏覽器的確切型號)的通用方法。大部分JS專家認(rèn)為這個(gè)方法最合適,因?yàn)樗麄冋J(rèn)為按照該方法所編寫的腳本是經(jīng)得起未來考驗(yàn)的。

//獲取IE瀏覽器的版本號
//返回?cái)?shù)值,顯示IE的主版本號
function getIEVer() {
 var ua = navigator.userAgent; //獲取用戶端信息
 var b = ua.indexOf("MSIE "); //檢測特殊字符串"MSIE "的位置
 if (b < 0) {
  return 0;
 }
 return parseFloat(ua.substring(b + 5, ua.indexOf(";", b))); //截取版本號字符串,并轉(zhuǎn)換為數(shù)值
}
alert(getIEVer()); //返回?cái)?shù)值8(我的IE8)

如果更關(guān)注瀏覽器的能力而不在乎它實(shí)際的身份,就可以使用這種方法。

user-agent字符串檢測法

user-agent字符串提供了關(guān)于Web瀏覽器的大量信息,包括瀏覽器的名稱和版本。

var ua = navigator.userAgent.toLowerCase(); //獲取用戶端信息
var info = {
 ie: /msie/.test(ua) && !/opera/.test(ua),  //匹配IE瀏覽器
 op: /opera/.test(ua),  //匹配Opera瀏覽器
 sa: /version.*safari/.test(ua),  //匹配Safari瀏覽器
 ch: /chrome/.test(ua),  //匹配Chrome瀏覽器
 ff: /gecko/.test(ua) && !/webkit/.test(ua)  //匹配Firefox瀏覽器
};
(info.ie) && alert("IE瀏覽器");
(info.op) && alert("Opera瀏覽器");
(info.sa) && alert("Safari瀏覽器");
(info.ff) && alert("Firefox瀏覽器");
(info.ch) && alert("Chrome瀏覽器");

通常我們做得最多的,就是判斷是否是IE了,其它幾種瀏覽器一般都會符合標(biāo)準(zhǔn).有些客戶只需要符合IE和FF就已經(jīng)滿足了.那么我們可以這樣做:

var isIE = (navigator.appName == "Microsoft Internet Explorer");

判斷IE遠(yuǎn)遠(yuǎn)不止上面一種方法,可以使用IE更多特有的東西,如:window.ActiveXObject,document.all等,這些都屬于對象/特征檢測法了!通常要在不同的瀏覽器上寫不同的樣式(因?yàn)镮E樣式解析也各有不同),那就得判斷版本了.可以這樣做

//獲取IE瀏覽器的版本號
//返回?cái)?shù)值,顯示IE的主版本號
function getIEVer() {
 var ua = navigator.userAgent; //獲取用戶端信息
 var b = ua.indexOf("MSIE "); //檢測特殊字符串"MSIE "的位置
 if (b < 0) {
  return 0;
 }
 return parseFloat(ua.substring(b + 5, ua.indexOf(";", b))); //截取版本號字符串,并轉(zhuǎn)換為數(shù)值
}
alert(getIEVer()); //返回?cái)?shù)值7

檢測操作系統(tǒng):

var isWin = (navigator.userAgent.indexOf("Win") != -1); //如果是Windows系統(tǒng),則返回true
var isMac = (navigator.userAgent.indexOf("Mac") != -1);  //如果是Macintosh系統(tǒng),則返回true
var isUnix = (navigator.userAgent.indexOf("X11") != -1);  //如果是Unix系統(tǒng),則返回true
var isLinux = (navigator.userAgent.indexOf("Linux") != -1);  //如果是Linux系統(tǒng),則返回true

文章大部分內(nèi)容來自于《Javascript征途》

相關(guān)文章

  • 前端如何實(shí)現(xiàn)對本地文件的IO操作詳解

    前端如何實(shí)現(xiàn)對本地文件的IO操作詳解

    這篇文章主要給大家介紹了關(guān)于前端如何實(shí)現(xiàn)對本地文件IO操作的相關(guān)資料,需要的朋友可以參考下
    2024-07-07
  • JavaScript實(shí)現(xiàn)音樂導(dǎo)航效果

    JavaScript實(shí)現(xiàn)音樂導(dǎo)航效果

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)音樂導(dǎo)航效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 如何使用JavaScript策略模式校驗(yàn)表單

    如何使用JavaScript策略模式校驗(yàn)表單

    這篇文章主要介紹了使用JavaScript策略模式校驗(yàn)表單,對JS策略模式感興趣得同學(xué),可以參考下
    2021-04-04
  • JavaScript中最常用的10種代碼簡寫技巧總結(jié)

    JavaScript中最常用的10種代碼簡寫技巧總結(jié)

    這篇文章主要總結(jié)了JavaScript中最常用的10種代碼簡寫技巧的相關(guān)資料,其中包括三元操作符、短路求值簡寫方式、聲明變量簡寫方法、if存在條件簡寫方法及JavaScript循環(huán)簡寫方法等等,分別給出了詳細(xì)的示例代碼供大家參考,需要的朋友們下面來一起看看吧。
    2017-06-06
  • js仿百度音樂全選操作

    js仿百度音樂全選操作

    這篇文章主要為大家詳細(xì)介紹了js仿百度音樂全選操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • JavaScript回調(diào)函數(shù)callback用法解析

    JavaScript回調(diào)函數(shù)callback用法解析

    這篇文章主要介紹了JavaScript回調(diào)函數(shù)callback用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • 帶你徹底搞懂JavaScript的事件流

    帶你徹底搞懂JavaScript的事件流

    這篇文章主要為大家詳細(xì)介紹了JavaScript的事件流,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • js實(shí)現(xiàn)文本框中輸入文字頁面中div層同步獲取文本框內(nèi)容的方法

    js實(shí)現(xiàn)文本框中輸入文字頁面中div層同步獲取文本框內(nèi)容的方法

    這篇文章主要介紹了js實(shí)現(xiàn)文本框中輸入文字頁面中div層同步獲取文本框內(nèi)容的方法,實(shí)例分析了javascript操作dom元素的技巧,需要的朋友可以參考下
    2015-03-03
  • javascript常用代碼段搜集

    javascript常用代碼段搜集

    這篇文章主要記錄了本人搜集的幾段javascript常用代碼段,都是平時(shí)項(xiàng)目中需要用到的,需要的朋友可以參考下
    2014-12-12
  • 如何將HTML字符轉(zhuǎn)換為DOM節(jié)點(diǎn)并動態(tài)添加到文檔中詳解

    如何將HTML字符轉(zhuǎn)換為DOM節(jié)點(diǎn)并動態(tài)添加到文檔中詳解

    這篇文章主要給大家介紹了關(guān)于如何將HTML字符轉(zhuǎn)換為DOM節(jié)點(diǎn)并動態(tài)添加到文檔中的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起看看吧
    2018-08-08

最新評論

平遥县| 元朗区| 治多县| 临江市| 嘉峪关市| 哈尔滨市| 临沭县| 精河县| 永泰县| 石渠县| 大邑县| 那曲县| 闵行区| 焦作市| 施甸县| 南皮县| 北海市| 卢氏县| 德昌县| 石泉县| 广河县| 石林| 金平| 景宁| 延寿县| 平江县| 永济市| 永宁县| 安达市| 五大连池市| 乾安县| 南乐县| 清远市| 远安县| 于都县| 禄劝| 漳州市| 萝北县| 台中县| 紫金县| 温泉县|