我要顯示一個警告,如果無線網絡連接斷開[即互聯網連接沒有網絡連接]。在我的網頁中,我有許多按鈕,彈出窗口等。用戶可以在離線狀態下點擊任何內容。但是我想顯示API調用是否失敗。每次點擊我都可以檢查navigator.onLine
。但我不想寫幾個函數調用或線路。有沒有辦法通常使用jQuery,JS,Ajax?
喜歡$.ajax
與錯誤「ALERT應當呼叫失敗造成由用戶動作顯示」。它不應該與任何div /頁面綁定。
嗨,我已經試過如下:
navigator.onLine // It works fine
我用下面的一個提到。但它不起作用。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.10.2.min.js"><\/script>')</script>
鏈接我已經提到
Detect that the Internet connection is offline?
Check Internet connectivity with jquery
和幾個。
有什麼建議嗎?
你知道如何編寫服務器端請求處理程序嗎?如果是,那麼你可以對它進行ajax調用,並檢查請求以查看是否存在連接錯誤,如果沒有發現連接錯誤。然後你必須有一個計時器來使這些請求每分鐘發生一次,間隔越短越快,當你的連接斷開時你會發現越快,但是發送太多而且會讓你的服務器停滯不前。使用請求處理程序而不是整個頁面的原因是讓服務器儘可能少地工作,只是爲了響應你的「ping」 – Snellface 2014-10-10 07:40:05
另一種選擇,如果你只針對相當現代的瀏覽器,那麼可能工作(我有從來沒有嘗試過)是使用websockets。他們應該(以同樣的方式定期「桌面套接字」)能夠告訴你他們與服務器的連接何時丟失。你要做的就是讓你的頁面通過websocket連接到你的服務器,並保持連接的活動,只要連接還在那裏,你就「連接」了你的服務器。如果連接丟失,請重試連接,如果連接失敗,則保持重新連接,直到再次獲得連接,這意味着您再次上線 – Snellface 2014-10-10 07:42:37
@Snellface謝謝。 – 2014-10-10 07:58:06