在VUE3中禁止网页返回到上一页的方法

 更新时间:2023年09月14日 14:28:06   作者:专业研究祖传Bug编写术  
这篇文章主要介绍了在VUE3中如何禁止网页返回到上一页,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

可以使用以下方法在Vue 3中禁止网页返回到上一页:

第一种:监听返回事件

使用返回监听事件,在用户点击返回按钮的时候触发,触发后使用window.history.forward()回到下一页。

代码如下:

<script language="javascript">
window.addEventListener('popstate', function () {
window.history.forward();
});
</script>

这种方法无法阻止浏览器返回到上一页,所以就会导致页面会出现闪一下的情况,故不推荐使用这种方法。

第二种:在页面中修改历史记录

使用history.pushState()方法将当前URL添加到浏览器历史记录中,从而覆盖上一页的URL。

我们把参数设置为空,就相当于把上一页的记录清除了,就可以实现无法返回到上一页的目的。

例如,在Vue 3应用程序的created生命周期或setup语法的onMounted中添加history.pushState(null, null, location.href);

代码如下:

<script setup>
onMounted(()=>{
history.pushState(null, null, location.href);
})
</script>

这种方法就不会有闪一下的现象,但如果在多页面的应用中,你会发现,使用这种方法只能在当前页面生效。

第三种:在路由中修改历史记录

在路由的afterEach中清除上一页数据让路由无法跳转,从而实现禁止网页返回到上一页的目的。

注意:

history.pushState(null, null, location.href)不要添加到了beforeEach中,在这里添加起不到作用。因为这是在跳转之前执行,这个时候路由还能拿到上一页数据,从而完成跳转到下一页。

例如,在router.js中添加以下代码:

import { createRouter,createWebHistory } from "vue-router";
const router = createRouter({
history: createWebHistory(),
routes:[
{
name: 'test1',
path:'/test1',
component:() => import('../components/test1.vue'),
},
{
name:'test2',
path:'/test2',
component:() => import('../components/test2.vue')
}
]
})
// 每次进行路由跳转时都会执行
router.beforeEach(function(to,from,next){
// 注意写在此处起不到禁用返回的功能,因为这是在跳转前执行,路由还能拿到跳转之前的上一页数据
})
// 进行路由跳转后执行
router.afterEach(function(to,from){
// 跳转后清除一下上一页的数据
history.pushState(null, null, location.href);
})

大家也可以在afterEach中添加禁止跳转的条件,例如仅对特定的页面进行限制,或者执行其他操作等。

到此这篇关于在VUE3中如何禁止网页返回到上一页的文章就介绍到这了,更多相关vue3禁止网页返回到上一页内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue项目中封装组件的简单步骤记录

    Vue项目中封装组件的简单步骤记录

    众所周知组件(component)是vue.js最强大的功能之一,它可以实现功能的复用,以及对其他逻辑的解耦,下面这篇文章主要给大家介绍了关于Vue项目中封装组件的相关资料,需要的朋友可以参考下
    2021-09-09
  • 利用Vue.js指令实现全选功能

    利用Vue.js指令实现全选功能

    最近做了两个vue的项目,都需要实现全选反选的功能,两个项目用了两种实现方法,第一个项目用vue的computed,第二个项目用指令来实现,用起来,发觉指令更加方便。下面就来介绍如何利用指令来实现全选。
    2016-09-09
  • vue2.0 实现页面导航提示引导的方法

    vue2.0 实现页面导航提示引导的方法

    下面小编就为大家分享一篇vue2.0 实现页面导航提示引导的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • 使用vue中的混入mixin优化表单验证插件问题

    使用vue中的混入mixin优化表单验证插件问题

    这篇文章主要介绍了使用vue中的混入mixin优化表单验证插件,本文是小编给大家总结的一些表单插件的问题,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • 深入探讨Vue计算属性与监听器的区别和用途

    深入探讨Vue计算属性与监听器的区别和用途

    在Vue的开发中,计算属性(Computed Properties)和监听器(Watchers)是两种非常重要的概念,它们都用于响应式地处理数据变化,本文将带你深入了解计算属性和监听器的区别,以及在何时使用它们,感兴趣的朋友可以参考下
    2023-09-09
  • vue-cli3.X快速创建项目的方法步骤

    vue-cli3.X快速创建项目的方法步骤

    这篇文章主要介绍了vue-cli3.X快速创建项目的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 详解vue开发中调用微信jssdk的问题

    详解vue开发中调用微信jssdk的问题

    这篇文章主要介绍了vue开发中调用微信jssdk的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 解决vue-cli项目打包出现空白页和路径错误的问题

    解决vue-cli项目打包出现空白页和路径错误的问题

    今天小编就为大家分享一篇解决vue-cli项目打包出现空白页和路径错误的问题。具有很好的参考价值。希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • vue使用vue-json-viewer展示JSON数据的详细步骤

    vue使用vue-json-viewer展示JSON数据的详细步骤

    最近在开发一个公司的投放管理系统的操作日志模块,要查看某条操作日志的请求参数,要将请求的参数以JSON格式的形式展示出来,下面这篇文章主要给大家介绍了vue使用vue-json-viewer展示JSON数据的相关资料,需要的朋友可以参考下
    2022-09-09
  • 详解vue中$nextTick和$forceUpdate的用法

    详解vue中$nextTick和$forceUpdate的用法

    这篇文章主要介绍了详解vue中$nextTick和$forceUpdate的用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论