2012-05-13 45 views
0

如果瀏覽器連接到互聯網,我需要了解我的web應用程序的工作情況。這意味着我必須使用雲數據或本地存儲數據。在html5上檢查在線狀態的最佳方法

當我使用navigator.online只有鉻告訴我的事實。 Firefox或Safari只檢查我是否連接到Wi-Fi。

我創建一個函數發送一個ping到一個特定的網站,並嘗試每次下載一個小文件,但如果我在手機上使用我的web應用程序,這不是一個好的解決方案。

任何人都可以告訴我另一個想法嗎?

回答

2

這取決於你所說的'連接到互聯網'。從瀏覽器到可能會失敗的服務器資源的路徑上有很多點。這是你的本地連接嗎?您的默認網關出現問題?更廣泛的網絡上的路由問題?您嘗試訪問的服務器應用程序存在問題?

唯一可以確保您需要的資源可用且在旅途中沒有任何問題的唯一方法是嘗試獲取所需的資源。但是如果您在確定確實存在問題之前不得不等待超時,那麼檢查此操作可能會非常緩慢。

您是否考慮過不同的方法來離線運行瀏覽器應用程序,從而您始終將數據保存到本地存儲並定期將其同步到服務器上?您可以向用戶提供有關與服務器的同步是否成功的反饋,但要確保數據始終保存在本地,無論如何。

我知道一個圖書館可以幫助這個,這是新的微軟Single Page Application framework。當然,還必須有其他非微軟的等價物。

編輯:This looks like a very interesting ground-up approach as to how you might do this.

你應該要自己寫一些東西有關於這種做法在SO問題,:Question on offline HTML5 database sync.

相關問題