2012-06-06 49 views
1

我注意到每個createchannel()都會替換iFrame url。通道API - 有時我沒有收到消息

是否有任何機會,由於重新調用createChannel()我的iFrame正在被新的iFrame取代,但客戶端ID和iFrame url之間的綁定沒有更新?

例如: 我稱之爲「channel.create_channel(unique_id)」 - 我用123.talkgadget.google ....作爲iFrame取回了JS。 然後, 我再次調用相同的客戶端ID「channel.create_channel(unique_id)」 - 我用456.talkgadget.google ....作爲iFrame取回了JS。

是否有任何機會,如果我現在所說的「channel.send_message(UNIQUE_ID,味精)」 信息將被髮送到123.talkgadget.google,而不是導致我沒有得到456.talkgadget.google信息?

謝謝!

回答

0

我不是100%確定的答覆。我還沒有完全測試,因爲dev_appserver行爲與真實的服務器行爲完全不同,所以測試有點困難。

我相信我以前見過這種行爲(缺少消息)。

如果您關閉客戶端的舊頻道,它似乎會使所有內容正常工作。

我還沒有試過處理這種情況,你失去了你的互聯網連接,你不能從客戶端關閉。

+0

謝謝。 你是什麼意思關閉舊頻道? var iframe = document.getElementById('wcs-iframe'); \t if(iframe!= null) \t \t {// alert(' - '); \t \t \t iframe.parentNode.removeChild(iframe); \t \t} \t \t socket.close(); 沒有幫助... –

+0

我的意思是隻調用socket.close(),你不需要觸摸iframe。 – dragonx

+0

這不是幫助/: 仍然有時我還沒有得到消息.. –