纯前端js插件实现同一浏览器控制只允许打开一个标签,处理session变更问题

功能介绍

该功能通过纯前端实现,确保在同一浏览器中仅允许打开一个特定页面的标签页,避免重复打开造成的资源浪费或数据冲突。适用于需要严格单实例运行的Web应用场景。

下载地址:

https://download.csdn.net/download/gshzh00/92552909

引入方式 1:全局变量配置

在引入 JS 插件之前定义全局变量

  • 页面唯一标识(SINGLE_TAB_PAGE_TYPE):可加入当前用户信息,如加入登陆人id,该页面同一浏览器打开两个标签页,登录新用户后,其他标签提示自动关闭。

  • 页面关闭后跳转地址(SINGLE_TAB_REDIRECT_URL):自定义其他标签页跳转地址

引入方式 2:DOM 隐藏域配置(适合后端渲染场景)

在 body 中添加隐藏域,通过 id="single-tab-redirect-url" 配置:

复制代码
<!-- 1. 配置页面类型隐藏域 -->
<input type="hidden" id="single-tab-page-type" value="pageB">

<!-- 2. 配置跳转地址隐藏域 -->
<input type="hidden" id="single-tab-redirect-url" value="/403">

<!-- 3. 引入JS插件 -->
<script src="single-tab-system.js"></script>

引入方式 3:JS 标签 data 属性配置

在引入 JS 的 script 标签上通过 data-redirect-url 属性配置:

复制代码
<!-- 1. 配置页面类型(全局变量方式) -->
<script>
  window.SINGLE_TAB_PAGE_TYPE = 'pageA';
</script>

<!-- 2. 引入JS插件,通过data属性配置跳转地址 -->
<script 
  src="single-tab-system.js" 
  data-single-tab="true" 
  data-redirect-url="/login"
></script>
相关推荐
IT_陈寒29 分钟前
React的useEffect依赖数组把我坑惨了,真相其实很简单
前端·人工智能·后端
徐小夕32 分钟前
JitWord 3.0 正式发布,高精度Word异构解析+复杂组件兼容,打造web端协同Word编辑器
前端·vue.js·算法
恋猫de小郭36 分钟前
KMP / CMP 鸿蒙版本 Beta 发布,他有什么特别之处?
android·前端·flutter
乘风gg1 小时前
OpenClaw 爆火,但”飞书"赢麻了!!!
前端·ai编程·claude
Oneslide2 小时前
React 纯前端技术栈报告(2026年)
前端
前端一小卒2 小时前
AI 时代,前端工程化要重做一遍
前端
橙子家11 小时前
浏览器缓存之【基础键值存储】:Local storage 和 Session storage
前端
星星在线13 小时前
MusicFree:一个「All in One」的个人音乐服务器,让听歌回归简单
前端·后端
IT_陈寒14 小时前
Redis的SETNX并发问题让我加了三天班
前端·人工智能·后端
demo007x14 小时前
Docling 文档转换以及技术架构分析
前端·后端·程序员