要限制当前浏览器打开的页面不允许再次被打开,可以借助 sessionStorage 来实现。sessionStorage 是一个会话级别的存储对象,可以将数据存储在浏览器的 sessionStorage 中,并且只在当前会话中有效。

以下是一个基于 sessionStorage 的示例代码:

1)在需要限制的页面的组件中,添加一个 created 钩子函数来检查页面是否已经被打开过:

export default { name: 'YourComponentName', created() { const uniquePageToken = 'your_unique_page_token' // 这是一个唯一的标识符,用于区分不同的页面 // 检查 sessionStorage 是否已经存在该标识符 if (sessionStorage.getItem(uniquePageToken)) { // 如果已经存在,则跳转到提示页面或者进行其他操作 // 例如:跳转到提示页面 this.$router.replace({ path: '/exist' }) } else { // 如果不存在,则将标识符存储到 sessionStorage 中 sessionStorage.setItem(uniquePageToken, 'true') } } } 

2)在 router/routes.js 文件中,添加对应的提示页面路由:

import HomePage from '../views/HomePage.vue' import ExistPage from '../views/ExistPage.vue' const routes = [ { path: '/', name: 'Home', component: HomePage }, { path: '/exist', name: 'Exist', component: ExistPage }, // 其他页面的路由配置... ] export default routes 

3)在 ExistPage.vue 文件中,添加一个提示页面,用于告知用户页面已经存在:

<template> <div> <h1>页面已经存在</h1> <p>该页面已经在浏览器中打开,请勿重复打开。</p> </div> </template> <script> export default { name: 'ExistPage' } </script> 

这样,当用户尝试重新打开已经存在的页面时,会被重定向到 /exist 页面,并显示相应的提示信息。通过使用 sessionStorage,可以在浏览器中限制页面的打开次数。请注意,如果用户关闭浏览器或者打开新的会话窗口,sessionStorage 中的数据会被清空,限制将会自动失效。