我正在建立聊天应用程序。要打开聊天用户点击按钮,请打开iframe聊天。在这个妈妈,我在主窗口中使用user_id设置cookie。在iframe的聊天应用程序中,我有回调的timmer,检查是否设置了cookie。如果设置了cookie,则应用程序通过user_id打开与用户的新聊天并删除cookie。效果很好。
但是,当用户打开2个或更多选项卡时,应用程序仅在一个选项卡中打开聊天beacouse cookie已在该选项卡中删除。我可以延迟删除cookie,但我没那样。
如何找到此问题的解决方案?
答案 0 :(得分:3)
HTML5 LocalStorage(及其关联事件storage
)对于来自同一域的浏览器窗口之间的通信非常有用。请注意,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; }
}