最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nuxt.js中PC與移動(dòng)端間自動(dòng)識(shí)別跳轉(zhuǎn)

 更新時(shí)間:2022年03月18日 11:05:40   作者:沐夕花開(kāi)  
本文主要介紹了Nuxt.js中PC與移動(dòng)端間自動(dòng)識(shí)別跳轉(zhuǎn),文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

了解

官網(wǎng)類網(wǎng)站,需要考慮seo,使用了 nuxt.jsssr 開(kāi)發(fā)。pc端和移動(dòng)端分離了,相當(dāng)于兩個(gè)獨(dú)立的項(xiàng)目,部署在同一個(gè)服務(wù)器上,綁定不同域名。

問(wèn)題

需要判斷當(dāng)前設(shè)備,在兩個(gè)端之前相互跳轉(zhuǎn)。

解決

根據(jù)瀏覽器ua判斷當(dāng)前是否為移動(dòng)設(shè)備:

let isMobile = (ua) => {
    return !!ua.match(/AppleWebKit.*Mobile.*/)
}

因?yàn)榻佑|Nuxt.js時(shí)間不長(zhǎng),也算不上深入。按直覺(jué)來(lái)吧:

第一版:在 default.vue里面 mounted 里面直接操作。

mounted(){
    if(process.browser){
        let ua = navigator.userAgent
        let isMobile = isMobile(ua)
        ...
        window.location.href = ...
    }
}

當(dāng)然,這樣跳轉(zhuǎn)是可以了,但是問(wèn)題也是一堆堆:

  • 跳轉(zhuǎn)時(shí)間比較長(zhǎng)(在mounted前數(shù)據(jù)已經(jīng)請(qǐng)求了,頁(yè)面也渲染了,所以時(shí)間比較長(zhǎng))
  • 有時(shí)會(huì)沒(méi)作用(不了解什么原因)

第二版:把這個(gè)操作移到 default.vueupdated 里面操作,但貌似沒(méi)什么作用。

第三版:使用 middleware

對(duì)于middleware,官網(wǎng)的簡(jiǎn)介:

中間件允許您定義一個(gè)自定義函數(shù)運(yùn)行在一個(gè)頁(yè)面或一組頁(yè)面渲染之前。

中間件執(zhí)行流程順序:

  • nuxt.config.js
  • 匹配布局
  • 匹配頁(yè)面

很好,在 middleware 下新建 midd.js

export default function ({ isServer, req, redirect, route }) {
  let pcOrigin = 'http://localhost:3003'
  let mobileOrigin = 'http://localhost:3004'
  let isMobile = (ua) => {
    return !!ua.match(/AppleWebKit.*Mobile.*/)
  }
  let userAgent = req ? req.headers['user-agent'] : navigator.userAgent || ''
  return isMobile(userAgent) ? '' : redirect(pcOrigin + route.fullPath)
  // 使用redirect 重定向到外鏈需要加上前綴:http / https
}

然后在 nuxt.config.js加上對(duì)應(yīng)配置:

router: {
    middleware: 'midd'
},

這樣的話在每個(gè)頁(yè)面渲染前都會(huì)調(diào)用midd.js,如果不需要每個(gè)頁(yè)面都判斷的話可以在需要判斷跳轉(zhuǎn)的頁(yè)面里面寫(xiě),然后把nuxt.config.js里面的去掉。

測(cè)試了一下,效果還不錯(cuò)。響應(yīng)速度很快。

還有一種想法沒(méi)有嘗試:把這個(gè)判斷、跳轉(zhuǎn)寫(xiě)成plugin,在 nuxt.config.js里面掛載。( ps:寫(xiě)的過(guò)程中想到的)

到此這篇關(guān)于Nuxt.js中PC與移動(dòng)端間自動(dòng)識(shí)別跳轉(zhuǎn)的文章就介紹到這了,更多相關(guān)Nuxt.js PC與移動(dòng)端自動(dòng)跳轉(zhuǎn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用JS+plupload直接批量上傳圖片到又拍云

    使用JS+plupload直接批量上傳圖片到又拍云

    本文詳細(xì)介紹了通過(guò)js+plupload實(shí)現(xiàn)了繞過(guò)服務(wù)器,向又拍云批量上傳圖片的解決方法,十分的巧妙,也節(jié)省了服務(wù)器資源,這里推薦給有需要的小伙伴。
    2014-12-12
  • JavaScript實(shí)現(xiàn)SHA-1加密算法的方法

    JavaScript實(shí)現(xiàn)SHA-1加密算法的方法

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)SHA-1加密算法的方法,實(shí)例分析了使用javascript實(shí)現(xiàn)SHA-1加密算法的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • javascript定時(shí)器完整實(shí)例

    javascript定時(shí)器完整實(shí)例

    這篇文章主要介紹了javascript定時(shí)器完整實(shí)現(xiàn)方法,以實(shí)例形式分析了定時(shí)器的嵌套調(diào)用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • 原型方法的不同寫(xiě)法居然會(huì)影響調(diào)試的解決方法

    原型方法的不同寫(xiě)法居然會(huì)影響調(diào)試的解決方法

    原型方法的不同寫(xiě)法居然會(huì)影響調(diào)試的解決方法...
    2007-03-03
  • 微信小程序通過(guò)保存圖片分享到朋友圈功能

    微信小程序通過(guò)保存圖片分享到朋友圈功能

    小程序內(nèi)是不能直接分享到朋友圈的。所以只能通過(guò)生成圖片,攜帶小程序二維碼,保存到手機(jī)相冊(cè),讓用戶自己選擇發(fā)到朋友圈。然后可以通過(guò)在小程序中識(shí)別二維碼來(lái)進(jìn)入小程序的指定頁(yè)面。下面小編給大家分享實(shí)現(xiàn)代碼,需要的朋友參考下吧
    2018-05-05
  • javascript模擬鼠標(biāo)點(diǎn)擊事件原理和實(shí)現(xiàn)方法

    javascript模擬鼠標(biāo)點(diǎn)擊事件原理和實(shí)現(xiàn)方法

    本文詳細(xì)介紹了JS模擬鼠標(biāo)點(diǎn)擊事件的原理以及應(yīng)用場(chǎng)景,并提供了模擬鼠標(biāo)左鍵點(diǎn)擊事件、右鍵點(diǎn)擊事件、滾輪事件和移動(dòng)事件的代碼實(shí)現(xiàn),了解JS模擬鼠標(biāo)點(diǎn)擊事件的原理和實(shí)現(xiàn)方法對(duì)于開(kāi)發(fā)人員非常重要,這對(duì)于許多面向用戶的web應(yīng)用程序的開(kāi)發(fā)和測(cè)試都具有很重要的意義
    2023-09-09
  • 兩個(gè)數(shù)組去重的JS代碼

    兩個(gè)數(shù)組去重的JS代碼

    這篇文章主要介紹了兩個(gè)數(shù)組去重的JS代碼,有需要的朋友可以參考一下
    2013-12-12
  • JavaScript 用cloneNode方法克隆節(jié)點(diǎn)的代碼

    JavaScript 用cloneNode方法克隆節(jié)點(diǎn)的代碼

    很多時(shí)候我們需要通過(guò)HTML DOM 的方式,用JavaScript 動(dòng)態(tài)生成很多相同的節(jié)點(diǎn),包括其子節(jié)點(diǎn)
    2012-10-10
  • JS原形與原型鏈深入詳解

    JS原形與原型鏈深入詳解

    這篇文章主要介紹了JS原形與原型鏈,結(jié)合實(shí)例形式深入分析了JS原型鏈、繼承、組合繼承等相關(guān)原理、操作技巧及注意事項(xiàng),需要的朋友可以參考下
    2020-05-05
  • 利用原生JS實(shí)現(xiàn)歡樂(lè)水果機(jī)小游戲

    利用原生JS實(shí)現(xiàn)歡樂(lè)水果機(jī)小游戲

    這篇文章主要介紹了利用原生JS實(shí)現(xiàn)歡樂(lè)水果機(jī)小游戲,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04

最新評(píng)論

海安县| 拉萨市| 墨江| 台湾省| 肃宁县| 大安市| 峡江县| 泰安市| 安阳县| 江西省| 贵定县| 青海省| 久治县| 米林县| 拉萨市| 定南县| 黑山县| 裕民县| 柯坪县| 盐亭县| 赣州市| 清苑县| 宾川县| 临沭县| 军事| 武隆县| 喜德县| 长岛县| 永清县| 扶沟县| 辛集市| 贵阳市| 泾源县| 万年县| 堆龙德庆县| 济宁市| 定边县| 汤原县| 昭平县| 新竹县| 长白|