Vue判斷設備是移動端還是pc端


經常在項目中會有支持 pc 與手機端需求。並且pc與手機端是兩個不一樣的頁面。這時就要求判斷設置,根據不同的設置跳轉不同的路由。
直接上代碼

//在 router/index.js 中有兩個頁面。
export default new Router({
  mode: 'history',
  routes: [
    {
      path: '',
      redirect: '/pc_index'
    },
    {
      path: "/pc_index", // pc端首頁
      name: PcIndex,
      component: PcIndex
    },
    {
      path: '/m_index', // 手機端首頁
      name: MIndex,
      component: MIndex
    }
  ]
});

  

在 App.vue 的 mounted 方法中對設置進行判斷,如下:

//App.vue
mounted() {
    if (this._isMobile()) {
      alert("手機端");
      this.$router.replace('/m_index');
    } else {
      alert("pc端");
      this.$router.replace('/pc_index');
    }
  }

 

其中 _isMobile() 方法如下:

//App.vue
_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;
}

 

效果如下:
chrome 瀏覽器中 pc 模式下刷新,顯示如下:

 

 

chrome 瀏覽器中 mobile 模式下刷新,顯示如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM