gpt4 book ai didi

javascript - 有什么方法可以识别 JavaScript 中的浏览器选项卡?

转载 作者:IT王子 更新时间:2023-10-29 03:15:50 26 4
gpt4 key购买 nike

我需要能够识别我在浏览器中所在的选项卡。难道我不能从浏览器中获得一些信息来识别选项卡吗?我不需要了解任何其他选项卡,我只需要我所在的选项卡的 ID。它可以是随机数或序列号,或者日期时间戳,只要它对选项卡的生命周期。

我有一个通过 HTTP 连接到远程服务器的 BOSH 客户端应用程序,如果我在多个选项卡中打开它,每个实例都需要自己唯一的 ID,否则应用程序将失败,所以我只需要一些唯一的数字只要该选项卡存在,它就会与该选项卡相关联(即,当我浏览提供此应用程序的网站时,页面刷新后仍然存在的内容)。看起来很简单,应该只在浏览器中可用,例如 window.tabId - 这就是我所需要的。我有一个严重的开发障碍,因为我无法通过这个似乎不存在的简单、简单、简单的解决方案。一定有办法(一个跨浏览器的解决方案)。

有什么想法吗?

最佳答案

SessionStorage是per tab/window的,所以你可以在sessionStorage中定义一个随机数,如果存在就先获取:

var tabID = sessionStorage.tabID ? 
sessionStorage.tabID :
sessionStorage.tabID = Math.random();

更新:
在某些情况下,您可能在多个选项卡中有相同的 sessionStorage(例如,当您复制选项卡时)。在这种情况下,以下代码可能会有所帮助:

var tabID = sessionStorage.tabID && 
sessionStorage.closedLastTab !== '2' ?
sessionStorage.tabID :
sessionStorage.tabID = Math.random();
sessionStorage.closedLastTab = '2';
$(window).on('unload beforeunload', function() {
sessionStorage.closedLastTab = '1';
});

关于javascript - 有什么方法可以识别 JavaScript 中的浏览器选项卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11896160/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com