2017-01-26 8 views
2

私は電子アプリで作業しています(初めて電子を使用しています)。私はまた非常にjavascriptに新しいですので、私の愚かさを言い訳してください。私は、すぐにユーザーから切断して、これは継続的に実行したいと私はネットワーク接続が存在するかどうかを確認し、JSの一部を継続的に実行できますか?

function checkStatus() { 
    var online = navigator.onLine; 
    if(online){ 
    $(".net-status").html("<i class=\"fa fa-globe fa-2x\"></i> Connected"); 
    } 
    else{ 
    $(".net-status").html("<i class=\"fa fa-globe fa-2x\"></i> Not Connected"); 
    } 
} 

accordingly- div要素を更新するには、このメソッドを持っているindex.jsファイルで

インターネットで、テキストを "Not Connected"に変更してください

私のindex.htmlファイルでonkeypressイベントリスナーを使用しようとしましたが、動作させることができませんでした。

また、イベントリスナーよりもこの目的を達成するためのより良い方法があるのだろうかと思います。その変数

window.addEventListener("offline", function(e) { 
    $(".net-status").html("<i class=\"fa fa-globe fa-2x\"></i> Not Connected"); 
}); 

window.addEventListener("online", function(e) { 
    $(".net-status").html("<i class=\"fa fa-globe fa-2x\"></i> Connected"); 
}); 

答えて

1

あなたは@juvianは(提供イベント処理)言ったように解決することができますについて尋ねられた特定のケースに変更があったとき

3

は、その火災利用できるイベントリスナーがあります。

「コードを連続して実行するにはどうすればよいですか」のより一般的なケースは、setTimeoutまたはsetIntervalで処理できます。

半秒毎(単位はミリ秒である)と言う発射する間隔を設定することです。この方法をあなたの関数を使用する:

​​

setTimeoutが連続して発射するのではなくことを除いて、同じように動作しますx秒ごとに、それはx秒後に1回発射される。例えば非常に有用である。ポーリングが発生するたびに新しいタイムアウトを設定できるという点で、setIntervalとの微妙ではあるが重要な違いがあります。要求が完了するとx秒後に、リクエストの所要時間に関係なくx秒を実行します。 setIntervalでポーリングを行うと、リソースの競合が発生する可能性があります。

関連する問題