2013-01-15 493 views
1

我有一個(的WebRTC)Web應用程序在三個選項卡上運行:誰關閉了瀏覽器選項卡?

  • 選項卡1個復位數據庫(刪除任何現有數據,重新創建初始數據集)
  • 標籤2個作爲客戶端#1 ,發送異步請求到服務器
  • 標籤3只充當客戶機#2,發送異步請求到服務器

我已經注意到的是,如果我重裝選項卡1,一個或兩個其他的選項卡會自行關閉(如從中,從Chr中的選項卡列表中移除) OME)。我向IRC詢問Chrome開發者,他們堅持認爲Chrome會打印「Aw snap!」在標籤崩潰的情況下,但不會將其從標籤列表中刪除。我很確定我自己的代碼沒有關閉頁面。

我怎樣才能找出什麼/誰關閉標籤?

回答

0

我覺得智障。

因此,調查此問題的幾天後,我發現我的代碼在發生網絡錯誤時調用了一個函數,並且此函數調用了close()。而不是解決我的班'close()方法,它解決了,而是window.close()。猜猜接下來發生了什麼? :)該標籤關閉。

是什麼讓這個問題特別困難的是兩個特定鉻的錯誤:

簡而言之:當它不應該window.close()作品,當它失敗這樣靜靜地做。

無論如何,我認爲這件事情是封閉的。我希望這有助於他人避免在將來犯同樣的錯誤。

0

我對JavaScript或Chrome不太瞭解,但最近我一直在做一些套接字編程,如果服務器出現故障,客戶端通常會崩潰,除非他們意識到服務器丟棄了連接並處理該連接嘗試/ catch語句)。我的建議是確保您的客戶能夠處理服務器輟學。

+1

我從來沒有見過未捕獲的異常導致選項卡關閉。 – Gili

相關問題