6

重複の可能性:
JavaScript: インターネット接続がオフラインであることを検出するには?

Facebook でインターネット接続が失われると、「インターネット接続がありません。もう一度試しますか?」というメッセージが表示されます。オンラインからオフラインに変わります。私は私のウェブサイトでそれをしたい。どうやってやるの?

4

2 に答える 2

4

これは機能するはずですが、おそらく別の方法で処理するでしょう。サーバー上のページに 15 秒ごとにクエリを送信するだけです。クエリが失敗した場合は、おそらくオフラインです (ユーザーまたはサーバーのいずれか)。

function checkOnline(){
    $.ajax({
        url: "test.php",
    }).done(function( html ) {
        if(html=='ok')
            setTimeout('checkOnline()',15000);
        else
            alert('Error');
    }).fail(function(){
        alert('Offline');
    });
}

test.php

<?php exit('ok'); ?>

個人的には、他の Ajax クエリまたはポーリング クエリに失敗関数を追加します。それらが失敗した場合は、オフライン メッセージをトリガーし、ページがリロードされるまで、または一定の時間が経過するまで、それ以上のポーリングまたはクエリを停止します。サーバーをポーリングするだけでは意味がありません。

于 2012-12-30T04:46:06.150 に答える
3

サーバーに対して定期的な ajax リクエストを実行します。リクエストが失敗した場合、ajax エンジンは「失敗」コールバックを呼び出します。

しかし実際には、サーバー側へのすべてのリクエストに「失敗した」javascript コールバックをアタッチし、リクエストが失敗したときに起動します。

于 2012-12-30T04:45:46.617 に答える