通過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í)有所幫助,也希望大家多多支持腳本之家。
- js如何判斷是否在iframe中及防止網(wǎng)頁被別站用iframe嵌套
- JS實(shí)現(xiàn)點(diǎn)擊網(wǎng)頁判斷是否安裝app并打開否則跳轉(zhuǎn)app store
- javascript判斷網(wǎng)頁是關(guān)閉還是刷新
- JS判斷網(wǎng)頁廣告是否被瀏覽器攔截過濾的代碼
- js判斷當(dāng)頁面無法回退時(shí)關(guān)閉網(wǎng)頁否則就history.go(-1)
- javascript判斷是手機(jī)還是電腦訪問網(wǎng)頁的簡單實(shí)例分享
- javascript獲取和判斷瀏覽器窗口、屏幕、網(wǎng)頁的高度、寬度等
- 借助javascript代碼判斷網(wǎng)頁是靜態(tài)還是偽靜態(tài)
- js判斷是否是移動(dòng)設(shè)備登陸網(wǎng)頁的簡單方法
相關(guān)文章
JavaScript求一個(gè)數(shù)組中重復(fù)出現(xiàn)次數(shù)最多的元素及其下標(biāo)位置示例
這篇文章主要介紹了JavaScript求一個(gè)數(shù)組中重復(fù)出現(xiàn)次數(shù)最多的元素及其下標(biāo)位置,涉及javascript數(shù)組元素遍歷、判斷、正則過濾、追加等相關(guān)操作技巧,需要的朋友可以參考下2018-07-07一篇文章帶你學(xué)會(huì)JavaScript計(jì)時(shí)事件
JS可以實(shí)現(xiàn)很多java代碼不易完成的功能,下面這篇文章主要給大家介紹了關(guān)于如何通過一篇文章帶你學(xué)會(huì)JavaScript計(jì)時(shí)事件的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11window.location.reload()方法刷新頁面彈出要再次顯示該網(wǎng)頁對話框
用window.location.reload()方法刷新頁面時(shí),IE彈出“要再次顯示該網(wǎng)頁....”對話框,解決辦法,接下來介紹下詳細(xì)的解決方法,感興趣的朋友可以參考下哈2013-04-04JavaScript實(shí)現(xiàn)復(fù)選框全選或全取消操作
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)復(fù)選框全選或全取消操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09