• web前端在手机端打开进行页面提示——手机端适配问题


    需求背景:由于公司业务主要在PC端进行操作,部分ipad平板用户(做数据查看),手机端不是我们的核心用户场景。手机有专门的app。产品提出了当页面在手机端打开时,手机端进行提示,请前往网页端进行操作。

     要在Vue web应用中检测屏幕是否是手机打开,并对所有路由进行提示,可以使用Vue Router的导航守卫来实现。以下是一种通用的设计方案:

     beforeEach全局路由导航守卫

    1. 创建一个全局的路由导航守卫,用于检测屏幕是否是手机打开。

    // main.js
     

    1. import Vue from 'vue';
    2. import App from './App.vue';
    3. import router from './router';
    4. router.beforeEach((to, from, next) => {
    5. const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
    6. if (isMobile) {
    7. // 如果是手机打开,跳转到提示页面
    8. next('/mobile-warning');
    9. } else {
    10. next();
    11. }
    12. });
    13. new Vue({
    14. router,
    15. render: h => h(App),
    16. }).$mount('#app');

    提示页面MobileWarning.vue

    创建一个名为`MobileWarning`的组件,用于显示手机打开的提示页面

    1. <script>
    2. export default {
    3. name: 'MobileWarning',
    4. };
    5. script>
    6. <style scoped>
    7. /* 样式 */
    8. style>
    9. ```

    配置跳转路由/mobile-warning

     在路由配置中添加一个名为`mobile-warning`的路由,指向`MobileWarning`组件

    1. // router.js
    2. import Vue from 'vue';
    3. import Router from 'vue-router';
    4. import MobileWarning from './components/MobileWarning.vue';
    5. Vue.use(Router);
    6. export default new Router({
    7. routes: [
    8. {
    9. path: '/mobile-warning',
    10. name: 'MobileWarning',
    11. component: MobileWarning,
    12. },
    13. // 其他路由配置
    14. ],
    15. });

    这样,当用户在手机上打开应用时,会自动跳转到`/mobile-warning`路由,显示手机打开的提示页面。如果用户在电脑上打开应用,则正常显示其他路由。

  • 相关阅读:
    中华人民共和国消费者权益保护法
    Java学习_day08_final&native&abstract&接口
    消息队列基本原理和选型对比
    Java多线程同步工具类:Semaphore原理剖析
    Linux系统禁用防火墙和SELinux
    Android学习笔记 27. Fragment + ViewPager
    【华为机试真题 JAVA】字符串删除后的最大数值-100
    Python基础08 面向对象的基本概念
    arthas the number of matched classs is 65
    14【视图】
  • 原文地址:https://blog.csdn.net/qq_36384657/article/details/136264152