1

次のスクリプトを使用して、インターネット接続を確認しています。結果が「オンライン」の場合、または結果が「オフライン」の場合に、何かを実行したい。

<body>
  <p><span id="status">checking...</span></p>

<script>
var statusElem = document.getElementById('status')

setInterval(function () {
  statusElem.className = navigator.onLine ? 'online' : 'offline';
  statusElem.innerHTML = navigator.onLine ? 'online' : 'offline';  
}, 250);
</script>
</body>

何か案は?基本的に私は IF ステートメントを使用したい: IF online then, else..

4

1 に答える 1

1

インターバル コードを使用する:

setInterval(function () {
    if(navigator.onLine) {
        statusElem.className = 'online';
        statusElem.innerHTML = 'online';
    } else {
        statusElem.className = 'offline';
        statusElem.innerHTML = 'offline';
   }
}, 250);

onlineただし、 / offlineevent listenersを使用すると、同じことをよりエレガントに行うことができます。

window.addEventListener("offline", function () {
    statusElem.className = 'offline';
    statusElem.innerHTML = 'offline';
}, false);

window.addEventListener("online", function () {
    statusElem.className = 'online';
    statusElem.innerHTML = 'online';
}, false);
于 2012-12-28T15:20:56.993 に答える