zoukankan      html  css  js  c++  java
  • 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 模式下刷新,显示如下:

  • 相关阅读:
    Spring的设计理念和整体架构
    垃圾收集器与内存分配策略(3)
    垃圾收集器与内存分配策略(2)
    实践一次有趣的sql优化
    PHP之static
    PHP之const
    MySQL数据库常用操作
    PHP之__aotoload()自动加载机制
    PHP之类的属性方法重写
    MYSQL工具类简单实现
  • 原文地址:https://www.cnblogs.com/woniu666/p/13388829.html
Copyright © 2011-2022 走看看