js 浏览器窗口只能开启一个,多开则关闭新开的窗口

需求

vue2项目,业务需求不能多开浏览器窗口,多开会导致数据统计异常,要求多开时跳转指定静态界面。

思路

有没有一种方法可以检测同一应用程序是否打开了多个浏览器选项卡。

解决方法

sysend.js 提供了跨浏览器tabs 数据同步的能力,利用了不少浏览器的特性 (localstoreage api 以及broadcastchannel api)
打开多个页签我们就能看到效果(注意无痕模式是不支持的,机制以及数据共享的问题)

代码

安装sysend

npm install sysend

或者CDN

https://unpkg.com/sysend

js

<script>
import sysend from 'sysend'
export default {
  created() {
    sysend.track('ready', () => {
      sysend.list().then(tabs => {
        if (tabs.length > 0) {
            window.close()
            // window.location.href = '../index.html'
            window.location.href = 'about:blank'
        }
      })
    })
  }
}
</script>

相关推荐

  1. js代码一个浏览器窗口

    2024-04-29 11:20:04       20 阅读
  2. playwright test打开浏览器窗口关闭当前窗口

    2024-04-29 11:20:04       16 阅读
  3. Edge浏览器可以几种方法

    2024-04-29 11:20:04       16 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-29 11:20:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-29 11:20:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-29 11:20:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-29 11:20:04       18 阅读

热门阅读

  1. C#三人飞行棋

    2024-04-29 11:20:04       9 阅读
  2. 用 Python 进行渗透测试

    2024-04-29 11:20:04       11 阅读
  3. 【K8s】工作以来遇到的K8s相关问题、故障

    2024-04-29 11:20:04       6 阅读
  4. 加密,解密 crypto-js、 计算哈希值,js-sha3

    2024-04-29 11:20:04       9 阅读
  5. MATLAB初学者入门(24)—— 聚类算法

    2024-04-29 11:20:04       8 阅读
  6. EureKa详解

    2024-04-29 11:20:04       10 阅读
  7. 机器学习Sklean基础教程

    2024-04-29 11:20:04       9 阅读
  8. 【机器学习与流体力学交叉领域的期刊】

    2024-04-29 11:20:04       10 阅读
  9. 机器人抓取综述

    2024-04-29 11:20:04       11 阅读