欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript 檢測(cè)瀏覽器類型和版本的代碼

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

對(duì)象/特征檢測(cè)法

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

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

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

user-agent字符串檢測(cè)法

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了,其它幾種瀏覽器一般都會(huì)符合標(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等,這些都屬于對(duì)象/特征檢測(cè)法了!通常要在不同的瀏覽器上寫不同的樣式(因?yàn)镮E樣式解析也各有不同),那就得判斷版本了.可以這樣做

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

檢測(cè)操作系統(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)文章

  • JS中 new Date() 各方法的用法說明

    JS中 new Date() 各方法的用法說明

    這篇文章主要介紹了JS中 new Date() 各方法的用法,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • javascript實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能

    javascript實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能

    這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能,實(shí)現(xiàn)四則運(yùn)算,小數(shù)點(diǎn),回退,歸0等功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • input+select(multiple) 實(shí)現(xiàn)下拉框輸入值

    input+select(multiple) 實(shí)現(xiàn)下拉框輸入值

    昨天做一個(gè)網(wǎng)站時(shí),需要實(shí)現(xiàn)下拉框能夠輸入,從功能上講是要實(shí)現(xiàn)用戶在文本框輸入值時(shí),能夠從后讀出數(shù)據(jù)彈出下拉選項(xiàng)
    2009-05-05
  • js 實(shí)現(xiàn) input type="file" 文件上傳示例代碼

    js 實(shí)現(xiàn) input type="file" 文件上傳示例代碼

    在開發(fā)中,文件上傳必不可少但是它長(zhǎng)得又丑、瀏覽的字樣不能換,一般會(huì)讓其隱藏點(diǎn)其他的標(biāo)簽(圖片等)來時(shí)實(shí)現(xiàn)選擇文件上傳功能
    2013-08-08
  • 解決layui的radio屬性或別的屬性沒顯示出來的問題

    解決layui的radio屬性或別的屬性沒顯示出來的問題

    今天小編就為大家分享一篇解決layui的radio屬性或別的屬性沒顯示出來的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • js實(shí)現(xiàn)中國(guó)象棋游戲

    js實(shí)現(xiàn)中國(guó)象棋游戲

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)中國(guó)象棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 基于bootstrop常用類總結(jié)(推薦)

    基于bootstrop常用類總結(jié)(推薦)

    下面小編就為大家?guī)硪黄赽ootstrop常用類總結(jié)(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • Javascript中瀏覽器窗口的基本操作總結(jié)

    Javascript中瀏覽器窗口的基本操作總結(jié)

    BOM全稱是brower object model(瀏覽器對(duì)象模型),主要用于管理窗口及窗口間的通訊,其核心對(duì)象是window。說窗口,可能并不準(zhǔn)確。因?yàn)?,有的瀏覽器窗口可能包含多個(gè)標(biāo)簽頁(yè),每個(gè)標(biāo)簽頁(yè)都有自己的window對(duì)象。本文將詳細(xì)介紹這些內(nèi)容,有需要可以參考學(xué)習(xí)。
    2016-08-08
  • 通過構(gòu)造函數(shù)實(shí)例化對(duì)象的方法

    通過構(gòu)造函數(shù)實(shí)例化對(duì)象的方法

    下面小編就為大家?guī)硪黄ㄟ^構(gòu)造函數(shù)實(shí)例化對(duì)象的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • 微信小程序開發(fā)之自定義tabBar的實(shí)現(xiàn)

    微信小程序開發(fā)之自定義tabBar的實(shí)現(xiàn)

    這篇文章主要介紹了微信小程序開發(fā)之自定義tabBar的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09

最新評(píng)論