我需要能够识别我在浏览器中的哪个选项卡。难道我不能从浏览器中获取一些信息来识别该选项卡吗?我不需要知道任何其他选项卡的任何信息,我只需要我所在选项卡的 id。它可以是随机数或序列号,也可以是日期时间戳,只要它与当前选项卡保持不变即可。选项卡的寿命。
我有一个客户端应用程序,它通过 HTTP 连接 BOSH 到远程服务器,如果我在多个选项卡中打开它,每个实例都需要自己的唯一 ID,否则应用程序会失败,所以我只需要一些与只要该选项卡存在(即,当我导航提供此应用程序的网站时,页面刷新后仍然存在的选项卡)。看起来很简单,应该只在浏览器中可用,比如 window.tabId - 这就是我所需要的。我遇到了严重的开发障碍,因为我无法克服这个似乎不存在的简单、简单、简单的解决方案。一定有办法(跨浏览器解决方案)。
有任何想法吗?
SessionStorage 是针对每个选项卡/窗口的,因此您可以在 sessionStorage 中定义一个随机数,并首先获取它(如果存在):
var tabID = sessionStorage.tabID ?
sessionStorage.tabID :
sessionStorage.tabID = Math.random();
UPDATE:
在某些情况下,您可能在多个选项卡中具有相同的 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';
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)