vue-判斷設備是手機端仍是pc端

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

【代碼演示】ios

  在 router/index.js 中有兩個頁面。chrome

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 方法中對設置進行判斷,以下:瀏覽器

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

  其中  _isMobile() 方法以下:測試

  _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;
    }

【效果展現】this

  chrome 瀏覽器中 pc 模式下刷新,顯示以下:spa

  

  chrom 瀏覽器中 mobile 模式下刷新,顯示以下:code

  

  用手機真機測試也如預期彈出了 手機端 彈框。component

相關文章
相關標籤/搜索