首頁 web前端 js教程 封裝好的js判斷作業系統與瀏覽器程式碼分享_javascript技巧

封裝好的js判斷作業系統與瀏覽器程式碼分享_javascript技巧

May 16, 2016 pm 04:21 PM
js 作業系統 瀏覽器

摘要:
  對於前端開發我們最重要的工作就是相容性,系統的兼容性,瀏覽器的兼容性等等。今天分享一個我在專案中封裝的判斷作業系統與瀏覽器的方法。

作業系統:

var os = (function() {
  var UserAgent = navigator.userAgent.toLowerCase();
  return {
    isIpad     : /ipad/.test(UserAgent),
    isIphone    : /iphone os/.test(UserAgent),
    isAndroid    : /android/.test(UserAgent),
    isWindowsCe   : /windows ce/.test(UserAgent),
    isWindowsMobile : /windows mobile/.test(UserAgent),
    isWin2K     : /windows nt 5.0/.test(UserAgent),
    isXP      : /windows nt 5.1/.test(UserAgent),
    isVista     : /windows nt 6.0/.test(UserAgent),
    isWin7     : /windows nt 6.1/.test(UserAgent),
    isWin8     : /windows nt 6.2/.test(UserAgent),
    isWin81     : /windows nt 6.3/.test(UserAgent)
  };
}());
登入後複製

如果要判斷系統是否為iPad,只需要判斷if(os.isIpad) {}.

瀏覽器:
 

var bw = (function() {
  var UserAgent = navigator.userAgent.toLowerCase();
  return {
    isUc   : /ucweb/.test(UserAgent), // UC浏览器
    isChrome : /chrome/.test(UserAgent.substr(-33,6)), // Chrome浏览器
    isFirefox : /firefox/.test(UserAgent), // 火狐浏览器
    isOpera  : /opera/.test(UserAgent), // Opera浏览器
    isSafire : /safari/.test(UserAgent) && !/chrome/.test(UserAgent), // safire浏览器
    is360   : /360se/.test(UserAgent), // 360浏览器
    isBaidu  : /bidubrowser/.test(UserAgent), // 百度浏览器
    isSougou : /metasr/.test(UserAgent), // 搜狗浏览器
    isIE6   : /msie 6.0/.test(UserAgent), // IE6
    isIE7   : /msie 7.0/.test(UserAgent), // IE7
    isIE8   : /msie 8.0/.test(UserAgent), // IE8
    isIE9   : /msie 9.0/.test(UserAgent), // IE9
    isIE10  : /msie 10.0/.test(UserAgent), // IE10
    isIE11  : /msie 11.0/.test(UserAgent), // IE11
    isLB   : /lbbrowser/.test(UserAgent), // 猎豹浏览器
     isWX   : /micromessenger/.test(UserAgent), // 微信内置浏览器
    isQQ   : /qqbrowser/.test(UserAgent) // QQ浏览器
  };
}());
登入後複製

]

小結:
  瀏覽器都是本人親自測試的,可能會有問題的是chrome瀏覽器,因為大部分瀏覽器都是使用WebKit內核,所以我就把chrome的navigator截取出來區分。如果以後chrome的navigator的訊息位置或chrome之後的長度改變就容易出現問題,但目前來看是可以的。

現在因為手機UC瀏覽器常常屏蔽百度的廣告,但對google廣告不屏蔽,​​我們可以加入判斷是否為UC瀏覽器,不是就顯示百度廣告,是就顯示google的廣告

if(navigator.userAgent.indexOf('UCBrowser') > -1) {
alert("uc浏览器");
}else{
//不是uc浏览器执行的操作
}
登入後複製

其實具體的瀏覽器的一些特殊的操作可以透過

JS取得瀏覽器資訊
瀏覽器代碼名稱:navigator.appCodeName
瀏覽器名稱:navigator.appName
瀏覽器版本號碼:navigator.appVersion
對Java的支援:navigator.javaEnabled()
MIME類型(陣列):navigator.mimeTypes
系統平台:navigator.platform
插件(陣列):navigator.plugins
使用者代理:navigator.userAgent

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

歐易官方網站最新註冊入口 歐易官方網站最新註冊入口 Mar 21, 2025 pm 05:54 PM

歐易官方網站最新註冊入口

Coinbase交易所登錄入口2025 Coinbase交易所登錄入口2025 Mar 21, 2025 pm 05:51 PM

Coinbase交易所登錄入口2025

歐易交易所app國內下載教程 歐易交易所app國內下載教程 Mar 21, 2025 pm 05:42 PM

歐易交易所app國內下載教程

歐易交易所網頁版註冊入口 歐易註冊入口 歐易交易所網頁版註冊入口 歐易註冊入口 Mar 20, 2025 pm 05:48 PM

歐易交易所網頁版註冊入口 歐易註冊入口

binance官網實名認證入口2025 binance官網實名認證入口2025 Mar 18, 2025 pm 01:51 PM

binance官網實名認證入口2025

幣安交易所app國內下載教程 幣安交易所app國內下載教程 Mar 21, 2025 pm 05:45 PM

幣安交易所app國內下載教程

登錄BitMEX交易所最新官方網站入口 登錄BitMEX交易所最新官方網站入口 Mar 21, 2025 pm 06:06 PM

登錄BitMEX交易所最新官方網站入口

LOOM幣發行價格及發行時間詳解 LOOM幣發行價格及發行時間詳解 Mar 20, 2025 pm 06:21 PM

LOOM幣發行價格及發行時間詳解

See all articles