javascript オンライン・オフライン状態を検知する

javascript オンライン・オフライン状態を検知する

javascriptで、ネットワークのオンライン・オフライン状態を検知するサンプルコードを記述してます。

環境

  • OS windows10 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 104.0.5112.81

ネットワーク状態検知

ネットワークの状態は「EventListener」を使用して検知することができます。
※インターネットをオフラインにすると、オフラインになり、復旧するとオンラインになります。

'use strict';

window.addEventListener('online', event => {
 // オンラインになったときの処理
  console.log('オンライン')
})

window.addEventListener('offline', event => {
  // オフラインになったときの処理
  console.log('オフライン')
})

実行結果

また、ネットワークの状態は以下で確認することが可能です。

window.navigator.onLine

// オンライン時は、true オフライン時は falseが返ります
console.log(window.navigator.onLine)

サンプルコード

以下は、
ネットワークを一度切断したら「オフライン」、再度接続した際は「オンライン」とフロントに表示する
サンプルコードとなります。

※cssには「tailwind」を使用してます。

<!DOCTYPE html>
<html lang="ja">

<head>
  <meta charset="utf-8">
  <title>mebeeサンプル</title>
  <link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet">
</head>

<script>

  window.addEventListener('online', event => {
    result.innerHTML = 'オンライン';
  })

  window.addEventListener('offline', event => {
    result.innerHTML = 'オフライン';
  })

</script>

<body>
  <div class="container mx-auto my-56 w-56 px-4">

    <div class="flex justify-center">

      <p id="result" class="bg-purple-700 text-white py-2 px-8 rounded-full mb-3 mt-4">ネットワーク状態</p>

    </div>

  </div>
</body>

</html>

ネット切断時には「オフライン」、復旧時には「オンライン」になっていることが確認できます。