国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

基于VUE實現(xiàn)判斷設(shè)備是PC還是移動端

瀏覽:2日期:2023-01-09 15:23:00

實際開發(fā)工作中會經(jīng)常遇到一個需求,就是判斷當(dāng)前登錄網(wǎng)頁的設(shè)備是PC還是移動,要求PC端和移動端顯示的是不同的網(wǎng)頁內(nèi)容。

那么我們就需要對當(dāng)前登錄設(shè)備進行判斷。

使用 navigator.userAgent 字符串檢測

我是在PC端開發(fā)完接到要做移動端的需求,而且移動端只有一個頁面,我就統(tǒng)一放在了一個文件夾內(nèi)。首先在 app.vue 文件內(nèi),判斷當(dāng)前設(shè)備是pc端還是移動端。

methods: { // 添加判斷方法 isMobile() { let flag = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i); return flag; }},mounted: { if(this.isMobile) { alert('移動端'); this.$router.replace(’/pc_index’); }else { alert('pc端'); this.$router.replace(’/m_index’); }}

接下來就略微介紹一下這個方法,其中用到了 navigator.userAgent 。

這個方法會返回一個只讀的字符串,聲明了瀏覽器在發(fā)送 http 請求時的用戶代理頭的值。例如:

<script> document.write('用戶代理:' + navigator.userAgent)</script>// pc端輸出結(jié)果:用戶代理: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36// 移動端輸出結(jié)果:用戶代理: 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

.match 方法用于在字符串內(nèi)檢索指定的值,或找到一個或多個正則表達式的匹配,返回值是檢索到的值。類似的方法還有 indexOf()、laseIndexOf(),但是這兩個方法返回的是匹配到的值的位置。所以在判斷方法中使用.match方法匹配所有的移動端型號,最后加的 /i 是表示不區(qū)分大小寫。

使用 window.matchMedia() 檢測

也就是利用媒體查詢的方式進行判斷。

window.matchMedia 方法會返回一個新的 mediaQueryList 對象,表示指定的媒體查詢字符串解析后的結(jié)果。例如:

var result = window.matchMedia('(min-width: 400px)').matches;console.log(result) //true

window.matchMedia 方法會返回兩個參數(shù),一個是 media,就是查詢的語句內(nèi)容。另一個是 matches,是返回的結(jié)果,為 boolean 類型。

根據(jù)當(dāng)前設(shè)備的視口寬度判斷是否是移動端設(shè)備。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 建湖县| 大悟县| 沂源县| 远安县| 揭阳市| 东乌珠穆沁旗| 互助| 黄龙县| 视频| 南涧| 辰溪县| 南川市| 惠东县| 额济纳旗| 福州市| 平陆县| 昌黎县| 中西区| 阜城县| 嘉义县| 新野县| 寻甸| 盖州市| 大荔县| 阜城县| 大城县| 方正县| 南漳县| 和顺县| 阿合奇县| 锡林郭勒盟| 阿瓦提县| 教育| 云阳县| 金乡县| 泰兴市| 南投市| 万盛区| 乌鲁木齐县| 雅安市| 蓝田县|