Javascript 如何存储每个浏览器选项卡上唯一的ID?
我正在调试在多个浏览器选项卡中运行web应用程序的问题,并使用log4javascript添加了一个客户端日志。我现在试图确定哪个日志行是由哪个浏览器选项卡写入的,所以我想为每个日志行添加一个唯一的选项卡ID 归根结底,我需要一种方法来识别浏览器选项卡是“新”的,并且需要接收新的选项卡ID。已经接收到选项卡ID的选项卡应该保留此ID 但我还没有找到一种方法来存储这样一个ID:Javascript 如何存储每个浏览器选项卡上唯一的ID?,javascript,iframe,tabs,Javascript,Iframe,Tabs,我正在调试在多个浏览器选项卡中运行web应用程序的问题,并使用log4javascript添加了一个客户端日志。我现在试图确定哪个日志行是由哪个浏览器选项卡写入的,所以我想为每个日志行添加一个唯一的选项卡ID 归根结底,我需要一种方法来识别浏览器选项卡是“新”的,并且需要接收新的选项卡ID。已经接收到选项卡ID的选项卡应该保留此ID 但我还没有找到一种方法来存储这样一个ID: 重新加载选项卡后仍然有效 标签之间总是不同的 在iframe中工作,iframe托管在与嵌入页面不同的域中 以下是我
- 重新加载选项卡后仍然有效
- 标签之间总是不同的
- 在iframe中工作,iframe托管在与嵌入页面不同的域中
如果没有,我想知道是否有其他方法可以让我确定一个选项卡是新的,因此需要接收一个新的选项卡ID。为什么不尝试一种组合:页面的哈希+本地存储。页面的散列是url中
后面的部分。可以使用location.hash
读取和更新该部分。您可以在url中使用该部分来附加和保留选项卡的id,即使在重新加载时也是如此
然后,您可以使用localStorage
跟踪已使用的ID。如果加载的选项卡没有哈希值,它将生成一个哈希值,将其保存到localStorage
,并将该值用作id。如果该选项卡带有哈希值(如重新加载后),页面将检查是否记录了该值。如果没有,它就使用它。否则,它会生成另一个。此答案可能会帮助您: