封裝好的js判斷作業系統與瀏覽器程式碼分享_javascript技巧
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
人工智慧驅動的應用程序,用於創建逼真的裸體照片

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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