在javascript中检测同一应用程序打开的多个chrome选项卡

Ves*_*vic 5 javascript google-chrome angularjs

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

假设我有 www.test.com 并且我打开了这个网站的 4 个标签。

有没有办法检测在 JavaScript 中打开了多个选项卡?

And*_*ndy 2

有,但不能保证始终正确:

window.onload = function() {
  var applicationCount = localStorage.getItem("applicationCount");
  if (!applicationCount) {
    applicationCount = 0;
  }
  localStorage.setItem("applicationCount", ++applicationCount);
}

window.onbeforeunload = function(e) {
  var applicationCount = localStorage.getItem("applicationCount");
  if (!applicationCount) {
    applicationCount = 1;
  }
  localStorage.setItem("applicationCount", --applicationCount);
};
Run Code Online (Sandbox Code Playgroud)

它使用在选项卡之间共享的本地存储。但请注意,如果浏览器崩溃,该值仍然会保存。