通過JS判斷網(wǎng)頁是否為手機(jī)打開
參考一:
//返回true表示為pc端打開,返回false表示為手機(jī)端打開function check() { var userAgentInfo=navigator.userAgent; var Agents =new Array('Android','iPhone','SymbianOS','Windows Phone','iPad','iPod'); var flag=true; for(var v=0;v<Agents.length;v++) { if(userAgentInfo.indexOf(Agents[v])>0) { flag=false; break; } } return flag; }
參考二:
簡單的利用 JS 來判斷頁面是在手機(jī)端還是在 PC 端打開的方法(轉(zhuǎn))
在移動(dòng)設(shè)備應(yīng)用越來越廣泛的今天,許多網(wǎng)站都開始做移動(dòng)端的界面展示,兩者屏幕尺寸差異很大,所以展示的內(nèi)容也有所差別。于是就遇到一個(gè)問題,如何判斷你的頁面是在移動(dòng)端還是在PC端打開的,很簡單的問題,那我們就簡單點(diǎn)來說,以我們公司的官網(wǎng)來說,PC端和移動(dòng)端的官網(wǎng)界面分別如下:
PC
手機(jī)
Navigator對象
首先來了解一下Navigator 對象,Navigator 對象包含有關(guān)瀏覽器的信息,下面的userAgent 屬性是一個(gè)只讀的字符串,聲明了瀏覽器用于 HTTP 請求的用戶代理頭的值。所以我們可以通過判斷navigator.useragent里面是否有某些值來判斷,比如我的電腦是mac,所以打印出來的值為
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
具體含義不解釋,有興趣同學(xué)自行百度,可以看到里面含有 Mac 字樣,其他的也是類似的。
那如何判斷頁面是在移動(dòng)端還是PC端打開的呢?
網(wǎng)上有很多方法,寫的或難或簡單,實(shí)際上一行代碼就夠了
window.location.href = /Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent) ? 'https://www.baidu.com/' : http://news.baidu.com/;
以上代碼利用了 正則表達(dá)式 和 三目運(yùn)算符,含義就是如果是移動(dòng)端打開的話那就跳轉(zhuǎn)到 https://www.baidu.com/,如果不是就跳轉(zhuǎn)到 http://new.baidu.com/,這個(gè)看不懂的話,那我下面這樣寫就很容易理解了吧
if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) { window.location.;} else { window.location.;}
什么?if 里面的判斷還是看不懂?實(shí)際上就是利用正則去判斷 navigator.useragent 是否含有 Android/webOs/iphone 等字符串,并且利用修飾符 ' i ' 做了不區(qū)分大小寫,然后用正則的方法 test 去判斷是否滿足,如果這種方式不理解的話完全可以利用字符串的 indexOf 方法去判斷。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 解決python腳本中error: unrecognized arguments: True錯(cuò)誤2. PHP8.0新功能之Match表達(dá)式的使用3. Nginx+php配置文件及原理解析4. 解決Python 進(jìn)程池Pool中一些坑5. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究6. Android實(shí)現(xiàn)觸發(fā)html頁面的Button控件點(diǎn)擊事件方式7. ajax請求添加自定義header參數(shù)代碼8. php測試程序運(yùn)行速度和頁面執(zhí)行速度的代碼9. 無線標(biāo)記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁10. 八種Vue組件間通訊方式合集(推薦)
