2014-10-01 61 views
0

我是bulding聊天應用程序。打開聊天用戶點擊按鈕並通過聊天功能打開iframe。在這個地方,我在主窗口中設置了cookie和user_id。在iframe中的聊天應用程序中,我使用回調函數檢查cookie是否設置。如果設置了cookie,應用程序將通過user_id與用戶開啓新的聊天並刪除co​​okie。它運作良好。如何在瀏覽器標籤頁/窗口之間進行通信?

但是,當用戶打開2個和更多的選項卡,然後應用程序只在一個選項卡中打開聊天beacouse cookie在該選項卡中被刪除。我可以延遲刪除cookie,但我沒有那樣。

我該如何找到解決這個問題的方法?

+1

您能否給我們提供一些代碼,以便我們可以更好地瞭解您的問題? – Azrael 2014-10-01 11:54:16

回答

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; } 
} 
相關問題