Javascript 如何在浏览器选项卡/窗口之间通信?

Javascript 如何在浏览器选项卡/窗口之间通信?,javascript,html,cookies,Javascript,Html,Cookies,我正在构建聊天应用程序。要打开聊天室,用户单击按钮并打开iframe with chat。此时,我在主窗口中设置了带有用户id的cookie。在iframe中的聊天应用程序中,我有一个带回调的timmer,用于检查是否设置了cookie。若设置了cookie,那个么应用程序将按用户id打开与用户的新聊天,并删除cookie。它工作得很好 但当用户打开2个或更多选项卡时,应用程序仅在一个选项卡中打开聊天,因为该选项卡中的cookie已被删除。我可以延迟删除cookie,但我没有这样做 我怎样才能找

我正在构建聊天应用程序。要打开聊天室,用户单击按钮并打开iframe with chat。此时,我在主窗口中设置了带有用户id的cookie。在iframe中的聊天应用程序中,我有一个带回调的timmer,用于检查是否设置了cookie。若设置了cookie,那个么应用程序将按用户id打开与用户的新聊天,并删除cookie。它工作得很好

但当用户打开2个或更多选项卡时,应用程序仅在一个选项卡中打开聊天,因为该选项卡中的cookie已被删除。我可以延迟删除cookie,但我没有这样做

我怎样才能找到这个问题的解决办法

(及其相关事件,
存储
)对于来自同一域的浏览器窗口之间的通信非常有用。不过要注意,IE和chrome等浏览器触发事件的方式不同。特别是,Chrome只会在存储被另一个窗口更改时触发事件,而IE则会在每次更改时触发事件

if (window.addEventListener) {
  window.addEventListener("storage", handle_storage, false);
} else {
  window.attachEvent("onstorage", handle_storage);
};

function handle_storage(e) {
  if (!e) { e = window.event; }
}
(及其关联事件,
存储
)对于来自同一域的浏览器窗口之间的通信非常有用。不过要注意,IE和chrome等浏览器触发事件的方式不同。特别是,Chrome只会在存储被另一个窗口更改时触发事件,而IE则会在每次更改时触发事件

if (window.addEventListener) {
  window.addEventListener("storage", handle_storage, false);
} else {
  window.attachEvent("onstorage", handle_storage);
};

function handle_storage(e) {
  if (!e) { e = window.event; }
}
(及其关联事件,
存储
)对于来自同一域的浏览器窗口之间的通信非常有用。不过要注意,IE和chrome等浏览器触发事件的方式不同。特别是,Chrome只会在存储被另一个窗口更改时触发事件,而IE则会在每次更改时触发事件

if (window.addEventListener) {
  window.addEventListener("storage", handle_storage, false);
} else {
  window.attachEvent("onstorage", handle_storage);
};

function handle_storage(e) {
  if (!e) { e = window.event; }
}
(及其关联事件,
存储
)对于来自同一域的浏览器窗口之间的通信非常有用。不过要注意,IE和chrome等浏览器触发事件的方式不同。特别是,Chrome只会在存储被另一个窗口更改时触发事件,而IE则会在每次更改时触发事件

if (window.addEventListener) {
  window.addEventListener("storage", handle_storage, false);
} else {
  window.attachEvent("onstorage", handle_storage);
};

function handle_storage(e) {
  if (!e) { e = window.event; }
}

您能否为我们提供一些代码,以便我们能够更好地了解您的问题?您能否为我们提供一些代码,以便我们能够更好地了解您的问题?您能否为我们提供一些代码,以便我们能够更好地了解您的问题?您能否为我们提供一些代码,以便我们能够更好地了解您的问题问题?