js使用navigator.userAgent判斷當(dāng)前瀏覽器所處的環(huán)境
navigator.userAgent : 瀏覽器用于 HTTP 請求的用戶代理頭的值,通過UserAgent可以取得瀏覽器類別、版本,客戶端操作系統(tǒng)等信息。
在PC端打開 ,navigator.userAgent 顯示如下
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36
在手機web端打開 ,navigator.userAgent 顯示如下
Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1
場景1:判斷頁面是在手機端還是PC端打開
window.location.href=/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)?"http://localhost:8888/mobile_web":"http://localhost:8888/PC";
場景2:判斷頁面是在手機端,平板端還是PC端打開
var os = function (){ var ua = navigator.userAgent, isWindowsPhone = /(?:Windows Phone)/.test(ua), isSymbian = /(?:SymbianOS)/.test(ua) || isWindowsPhone, isAndroid = /(?:Android)/.test(ua), isFireFox = /(?:Firefox)/.test(ua), isChrome = /(?:Chrome|CriOS)/.test(ua), isTablet = /(?:iPad|PlayBook)/.test(ua) || (isAndroid && !/(?:Mobile)/.test(ua)) || (isFireFox && /(?:Tablet)/.test(ua)), isPhone = /(?:iPhone)/.test(ua) && !isTablet, isPc = !isPhone && !isAndroid && !isSymbian; return { isTablet: isTablet, isPhone: isPhone, isAndroid: isAndroid, isPc: isPc }; }(); if (os.isAndroid || os.isPhone) { alert("手機" ); } else if (os.isTablet) { alert("平板" ); } else if (os.isPc) { alert("電腦" ); }
場景3:獲取操作系統(tǒng)類型,判斷是Android或者IOS
/** * 獲取操作系統(tǒng)類型, * 0 Android * 1 iOS */ function getOSType() { if (/(Android)/i.test(navigator.userAgent)) { return 0; } else if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { return 1; } else { return 2; } }
場景4:判斷當(dāng)前環(huán)境是否是微信環(huán)境
function is_weixin(){ var ua = navigator.userAgent.toLowerCase(); if(ua.match(/MicroMessenger/i)=="micromessenger") { return true; } else { return false; } }
到此這篇關(guān)于js使用navigator.userAgent判斷當(dāng)前瀏覽器所處的環(huán)境的文章就介紹到這了,更多相關(guān)js navigator.userAgent瀏覽器環(huán)境內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
ES6新特性:使用export和import實現(xiàn)模塊化詳解
本篇文章主要介紹了ES6新特性:使用export和import實現(xiàn)模塊化詳解,具有一定的參考價值,有興趣的可以了解一下2017-07-07JavaScript判斷是否為數(shù)字的幾種方式匯總(推薦!)
有時候需要根據(jù)輸入的內(nèi)容來進行計算,這個時候就需要判斷輸入的內(nèi)容是否是數(shù)字,下面這篇文章主要給大家介紹了關(guān)于JavaScript判斷是否為數(shù)字的幾種方式,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-06-06用js將long型數(shù)據(jù)轉(zhuǎn)換成date型或datetime型的實例
下面小編就為大家?guī)硪黄胘s將long型數(shù)據(jù)轉(zhuǎn)換成date型或datetime型的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07Javascript學(xué)習(xí)筆記-詳解in運算符
in運算符是javascript語言中比較特殊的一個,可以單獨使用作為判斷運算符,也常被用于for...in循環(huán)中遍歷對象屬性2011-09-09Javascript異步編程async實現(xiàn)過程詳解
這篇文章主要介紹了Javascript異步編程async實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04關(guān)于JavaScript回調(diào)函數(shù)的深入理解
由于函數(shù)是一等對象,我們可以把一個函數(shù)作為參數(shù)傳遞給另一個函數(shù),然后在那個函數(shù)內(nèi)執(zhí)行,至也可以被那個函數(shù)返回,然后再執(zhí)行,這篇文章主要給大家介紹了關(guān)于JavaScript回調(diào)函數(shù)的深入理解,需要的朋友可以參考下2021-06-06