国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
JavaScript判斷瀏覽器類型及版本
JavaScript判斷瀏覽器類型及版本 由Linux系統(tǒng)中文網(wǎng)(Linux521.com)編輯收集整理,除Linux521注明原創(chuàng)文章外,其版權(quán)歸原作者所有。如果您在學習中遇到問題歡迎在下面的評論中留言,我們會盡全力解答您的問題。

Mozilla/5.0 (Windows; U; Windows NT 5.2) Gecko/2008070208 Firefox/3.0.1

  Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070309 Firefox/2.0.0.3

  Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070803 Firefox/1.5.0.12 其中,版本號是Firefox之后的數(shù)字.

  Opera

  Opera提供了專門的瀏覽器標志,就是window.opera屬性.

  Opera典型的userAgent如下:

  Opera/9.27 (Windows NT 5.2; U; zh-cn)

  Opera/8.0 (Macintosh; PPC Mac OS X; U; en)

  Mozilla/5.0 (Macintosh; PPC Mac OS X; U; en) Opera 8.0

  其中,版本號是靠近Opera的數(shù)字.

  Safari

  Safari瀏覽器中有一個其他瀏覽器沒有的openDatabase函數(shù),可做為判斷Safari的標志.

  Safari典型的userAgent如下:

  Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13

  Mozilla/5.0 (iPhone; U; CPU like Mac OS X) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A93 Safari/419.3

  其版本號是Version之后的數(shù)字.

  Chrome

  Chrome有一個MessageEvent函數(shù),但Firefox也有.不過,好在Chrome并沒有Firefox的getBoxObjectFor函數(shù),根據(jù)這個條件還是可以準確判斷出Chrome瀏覽器的.

  目前,Chrome的userAgent是:

  Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13

  其中,版本號在Chrome之后的數(shù)字.

  有趣的是,Chrome的userAgent還包含了Safari的特征,也許這就是Chrome可以運行所有Apple瀏覽器應用的基礎(chǔ)吧.

  Navigator

  目前,Navigator的userAgent是:

  Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080219 Firefox/2.0.0.12 Navigator/9.0.0.6

  其中,版本號在Navigator之后的數(shù)字.

  通過觀察以上各瀏覽器的差異,可以用JavaScript區(qū)分出各瀏覽器的,但沒有判斷是否兼容w3c標準,看了看ExtJs的源代碼,發(fā)現(xiàn)其中就有對瀏覽器類型以及版本和操作系統(tǒng)的判斷.

  源碼如下:

  ua = navigator.userAgent.toLowerCase(),

  check = function(r){

  return r.test(ua);

  },

  isStrict = document.compatMode == “CSS1Compat”,

  isOpera = check(/opera/),

  isChrome = check(/chrome/),

  isWebKit = check(/webkit/),

  isSafari = !isChrome && check(/safari/),

  isSafari3 = isSafari && check(/version/3/),

  isSafari4 = isSafari && check(/version/4/),

  isIE = !isOpera && check(/msie/),

  isIE7 = isIE && check(/msie 7/),
        isIE8 = isIE && check(/msie 8/),

  isGecko = !isWebKit && check(/gecko/),

  isGecko3 = isGecko && check(/rv:1.9/),

  isBorderBox = isIE && !isStrict,

  isWindows = check(/windows|win32/),

  isMac = check(/macintosh|mac os x/),

  isAir = check(/adobeair/),

  isLinux = check(/linux/)

  關(guān)于document.compatMode

  IE對盒模型的渲染在 Standards Mode和Quirks Mode是有很大差別的,在Standards Mode下對于盒模型的解釋和其他的標準瀏覽器是一樣,但在Quirks Mode模式下則有很大差別,而在不聲明Doctype的情況下,IE默認又是Quirks Mode.

為兼容性考慮,我們可能需要獲取當前的文檔渲染方式.

  document.compatMode正好派上用場,它有兩種可能的返回值:BackCompat和CSS1Compat,對其解釋如下:

  BackCompat Standards-compliant mode is not switched on. (Quirks Mode)

  CSS1Compat Standards-compliant mode is switched on. (Standards Mode)

  在實際的項目中,我們還需要在獲取瀏覽是否IE,這樣就可以得到IE的渲染模式了.在ExtJs中的代碼:isBorderBox=isIE&&!isStrict.

  當文檔有了標準聲明時, document.compatMode 的值就等于 “CSS1compat”, 因此, 我們可以根據(jù) document.compatMode 的值來判斷文檔是否加了標準聲明

  var height = document.compatMode==”CSS1Compat” ? document.documentElement.clientHeight : document.body.clientHeight;

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
用javascript判斷瀏覽器的版本及類型
user-agent判斷其瀏覽器(轉(zhuǎn))
fake-useragent庫:值得花2分鐘學習的庫
瀏覽器野史:國產(chǎn)瀏覽器如何用“國外內(nèi)核”包裝?
谷歌Chrome 6提速17% 仍遜于Opera和Safari
Js判斷瀏覽器的函數(shù),可區(qū)分chrome,safari
更多類似文章 >>
生活服務
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服