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

javascript瀏覽器用戶代理檢測(cè)腳本實(shí)現(xiàn)方法

 更新時(shí)間:2017年10月27日 08:30:27   作者:Dragonir  
下面小編就為大家?guī)?lái)一篇javascript瀏覽器用戶代理檢測(cè)腳本實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

以下是完整的用戶代理字符串檢測(cè)腳本,包括檢測(cè)呈現(xiàn)引擎、平臺(tái)、Windows操作系統(tǒng)、移動(dòng)設(shè)備和游戲系統(tǒng)。

var client = function(){ 
 
 // 呈現(xiàn)引擎 
 var engine = { 
  ie: 0, 
  gecko: 0, 
  webkit: 0, 
  khtml: 0, 
  opera: 0, 
  // 完整的版本號(hào) 
  ver: null
 }; 
 
 // 瀏覽器 
 var browser = { 
  // 主要瀏覽器 
  ie: 0, 
  firefox: 0, 
  safari: 0, 
  konq: 0, 
  opera: 0, 
  chrome: 0, 
  // 具體的版本號(hào) 
  ver: null
 }; 
 
 // 平臺(tái)、設(shè)備和操作系統(tǒng) 
 var system = { 
  win: false, 
  mac: false, 
  x11: false, 
 
  // 移動(dòng)設(shè)備 
  iphone: false, 
  ipod: false, 
  ipad: false, 
  ios: false, 
  android: false, 
  nokiaN: false, 
  winMobile: false, 
 
  // 游戲系統(tǒng) 
  wii: false, 
  ps: false
 }; 
 
 // 檢測(cè)呈現(xiàn)引擎和瀏覽器 
  var ua = navigator.userAgent;  
 if (window.opera){ 
  engine.ver = browser.ver = window.opera.version(); 
  engine.opera = browser.opera = parseFloat(engine.ver); 
 } 
 else if (/AppleWebKit\/(\S+)/.test(ua)){ 
  engine.ver = RegExp["$1"]; 
  engine.webkit = parseFloat(engine.ver); 
 
  // 確定是Chroeme還是Safari 
   if (/Chrome\/(\S+)/.test(ua)){ 
   browser.ver = RegExp["$1"]; 
   browser.chrome = parseFloat(browser.ver); 
  } else if (/Version\/(\S+)/.test(ua)){ 
   browser.ver = RegExp["$1"]; 
   browser.safari = parseFloat(browser.ver); 
  } 
  else { 
   // 近似地確定版本號(hào) 
    var safariVersion = 1; 
   if (engine.webkit < 100){ 
    safariVersion = 1; 
   } else if (engine.webkit < 312){ 
    safariVersion = 1.2; 
   } else if (engine.webkit < 412){ 
    safariVersion = 1.3; 
   } else { 
    safariVersion = 2; 
   } 
    
   browser.safari = browser.ver = safariVersion;   
  } 
 } 
 else if (/KHTML\/(\S+)/.test(ua) || /Konqueror\/([^;]+)/.test(ua)){ 
  engine.ver = browser.ver = RegExp["$1"]; 
  engine.khtml = browser.konq = parseFloat(engine.ver); 
 } 
 else if (/rv:([^\)]+)\) Gecko\/\d{8}/.test(ua)){ 
  engine.ver = RegExp["$1"]; 
  engine.gecko = parseFloat(engine.ver); 
   
  // 確定是不是Firefox 
   if (/Firefox\/(\S+)/.test(ua)){ 
   browser.ver = RegExp["$1"]; 
   browser.firefox = parseFloat(browser.ver); 
  } 
 } 
 else if (/MSIE ([^;]+)/.test(ua)){  
  engine.ver = browser.ver = RegExp["$1"]; 
  engine.ie = browser.ie = parseFloat(engine.ver); 
 } 
 
 // 檢測(cè)瀏覽器 
 browser.ie = engine.ie; 
 browser.opera = engine.opera; 
 
 // 檢測(cè)平臺(tái) 
 var p = navigator.platform; 
 system.win = p.indexOf("Win") == 0; 
 system.mac = p.indexOf("Mac") == 0; 
 system.x11 = (p == "x11") || (p.indexOf("Linux") == 0); 
 
 // 檢測(cè)windows操作系統(tǒng) 
 if(system.win){ 
  if(/win(?:dows )?([^do]{2})\s?(\d+\.\d+)?/.test(ua)){ 
   if(RegExp["$1"] == "NT"){ 
    switch(RegExp["$2"]){ 
     case "5.0": 
      system.win = "2000"; 
      break; 
     case "5.1": 
      system.win = "XP"; 
      break; 
     case "6.0": 
      system.win = "Vista"; 
      break; 
     case "6.1": 
      system.win = "7"; 
      break; 
     default: 
      system.win = "NT"; 
      break; 
    } 
   } 
   else if(RegExp["$1"] == "9x"){ 
    system.win = "ME"; 
   } 
   else{ 
    system.win = RegExp["$1"]; 
   } 
  } 
 } 
 
 // 移動(dòng)設(shè)備 
 system.iphone = ua.indexOf("iPhone") > -1; 
 system.ipod = ua.indexOf("iPod") > -1; 
 system.ipad = ua.indexOf("iPad") >-1; 
 system.nokiaN = ua.indexOf("NokiaN") > -1; 
 
 // windows mobile 
 if(system.win == "CE"){ 
  system.winMobile = system.win; 
 } 
 else if(system.win == "Ph" ){ 
  if(/Windows Phone OS (\d+.\d+)/.test(ua)){ 
   system.win = "Phone"; 
   system.winMobile = parseFloat(RegExp["$1"]); 
  } 
 } 
 
 // 檢測(cè)IOS版本 
 if(system.mac && ua.indexOf("Mobile")> -1){ 
  if(/CPU (?:Phone )?OS (\d+_\d+)/.test(ua)){ 
   system.ios = parseFloat(RegExp.$1.replace("_",".")); 
  } 
  else{ 
   system.ios = 2; 
   // 不能真正檢測(cè)出來(lái),所以只能猜測(cè) 
  } 
 } 
 
 // 檢測(cè)Android版本 
 if(/Android (\d+\.\d+)/.test(ua)){ 
  system.android = parseFloat(RegExp.$1); 
 } 
 
 // 游戲系統(tǒng) 
 system.wii = ua.indexOf("Wii") > -1; 
 system.ps = /playstation/i.test(ua); 
 
 // 返回這些對(duì)象 
 return { 
  engine:  engine, 
  browser: browser, 
  system:  system   
 }; 
 
 // console.log(engine); 
 // console.log(browser); 
 // console.log(system); 
}();

以上這篇javascript瀏覽器用戶代理檢測(cè)腳本實(shí)現(xiàn)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • js實(shí)現(xiàn)按鈕顏色漸變動(dòng)畫(huà)效果

    js實(shí)現(xiàn)按鈕顏色漸變動(dòng)畫(huà)效果

    這篇文章主要介紹了js實(shí)現(xiàn)按鈕顏色漸變動(dòng)畫(huà)效果的方法,涉及javascript鼠標(biāo)事件及頁(yè)面表單元素樣式的動(dòng)態(tài)操作技巧,需要的朋友可以參考下
    2015-08-08
  • javascript面向?qū)ο髣?chuàng)建對(duì)象的方式小結(jié)

    javascript面向?qū)ο髣?chuàng)建對(duì)象的方式小結(jié)

    這篇文章主要介紹了javascript面向?qū)ο髣?chuàng)建對(duì)象的方式,結(jié)合實(shí)例形式總結(jié)分析了javascript常見(jiàn)的7種創(chuàng)建對(duì)象的方式,需要的朋友可以參考下
    2019-07-07
  • JavaScript實(shí)現(xiàn)獲取本機(jī)IP地址

    JavaScript實(shí)現(xiàn)獲取本機(jī)IP地址

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)獲取本機(jī)IP地址方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 原生javascript實(shí)現(xiàn)圖片輪播切換效果

    原生javascript實(shí)現(xiàn)圖片輪播切換效果

    這篇文章主要為大家詳細(xì)介紹了原生javascript實(shí)現(xiàn)圖片輪播切換效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • XDomainRequest之IE8和IE9發(fā)送跨域請(qǐng)求拒絕訪問(wèn)解決方法

    XDomainRequest之IE8和IE9發(fā)送跨域請(qǐng)求拒絕訪問(wèn)解決方法

    這篇文章主要介紹了XDomainRequest之IE8和IE9發(fā)送跨域請(qǐng)求拒絕訪問(wèn)解決方法,需要的朋友可以參考下
    2023-06-06
  • ES6入門教程之Iterator與for...of循環(huán)詳解

    ES6入門教程之Iterator與for...of循環(huán)詳解

    最近在學(xué)習(xí)ES6,剛剛看到Iterator和for...of循環(huán)這一章,所以想要跟大家略微分享一下,下面這篇文章主要給大家介紹了關(guān)于ES6入門學(xué)習(xí)中Iterator與for...of循環(huán)的相關(guān)資料,不足之處還望大家多多指正,需要的朋友們可以參考學(xué)習(xí)。
    2017-05-05
  • TypeScript與JavaScript多方面闡述對(duì)比相同點(diǎn)和區(qū)別

    TypeScript與JavaScript多方面闡述對(duì)比相同點(diǎn)和區(qū)別

    TypeScript和JavaScript在開(kāi)發(fā)交互式網(wǎng)頁(yè)方面有許多相似之處,在提供TypeScript與 JavaScript的直接比較時(shí),我們可以說(shuō)JavaScript是一種輕量級(jí)的解釋型動(dòng)態(tài)語(yǔ)言,用于增強(qiáng)HTML網(wǎng)頁(yè),TypeScript是JavaScript的增強(qiáng)版,這意味著TypeScript是JavaScript和其他一些特性的組合
    2024-07-07
  • JScript中使用ADODB.Stream判斷文件編碼的代碼

    JScript中使用ADODB.Stream判斷文件編碼的代碼

    在實(shí)現(xiàn)TextStraem的時(shí)候,找到判斷文件編碼的代碼是VBS的,但是在JScript中是沒(méi)有ASC等函數(shù)的,也不能對(duì)二進(jìn)制數(shù)據(jù)進(jìn)行處理,因此需要通過(guò)一個(gè)特別的方法來(lái)獲取文件開(kāi)關(guān)的編碼標(biāo)識(shí)。
    2008-06-06
  • JS實(shí)現(xiàn)瀏覽器打印、打印預(yù)覽示例

    JS實(shí)現(xiàn)瀏覽器打印、打印預(yù)覽示例

    本篇文章主要介紹了JS實(shí)現(xiàn)瀏覽器打印、打印預(yù)覽示例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • js實(shí)現(xiàn)類似于add(1)(2)(3)調(diào)用方式的方法

    js實(shí)現(xiàn)類似于add(1)(2)(3)調(diào)用方式的方法

    這篇文章主要介紹了js實(shí)現(xiàn)類似于add(1)(2)(3)調(diào)用方式的方法,需要的朋友可以參考下
    2015-03-03

最新評(píng)論

眉山市| 正镶白旗| 安宁市| 科技| 滦平县| 白河县| 错那县| 玛纳斯县| 凤阳县| 宝兴县| 南川市| 丹寨县| 麦盖提县| 宁远县| 米泉市| 宜川县| 平潭县| 宕昌县| 莱芜市| 安义县| 岫岩| 漳浦县| 海阳市| 宣恩县| 广州市| 原阳县| 宁化县| 锡林郭勒盟| 仙居县| 罗江县| 宜丰县| 崇信县| 武山县| 太白县| 利辛县| 衢州市| 昌平区| 克东县| 鄢陵县| 兴城市| 河池市|