-
navigatorオブジェクトを使用する方法:
function handleOnlineStatus(event) { if (navigator.onLine) { console.log("オンラインです"); } else { console.log("オフラインです"); } } window.addEventListener("online", handleOnlineStatus); window.addEventListener("offline", handleOnlineStatus);
-
online/offlineイベントのサポートをチェックする方法:
var isOnlineSupported = "onLine" in navigator; if (isOnlineSupported) { // イベントがサポートされている場合の処理 } else { // イベントがサポートされていない場合の処理 }
-
XMLHttpRequestオブジェクトを使用する方法:
function checkConnection() { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState === 4) { if (xhr.status === 200) { console.log("オンラインです"); } else { console.log("オフラインです"); } } }; xhr.open("GET", "https://www.example.com", true); xhr.send(); } checkConnection();
-
Online/Offline APIを使用する方法:
function handleOnlineStatus(event) { if (event.type === "online") { console.log("オンラインです"); } else if (event.type === "offline") { console.log("オフラインです"); } } var onlineStatus = new Event("online"); var offlineStatus = new Event("offline"); // オンライン状態にする window.dispatchEvent(onlineStatus); // オフライン状態にする window.dispatchEvent(offlineStatus);
これらの方法を使用すると、クロスブラウザでオンライン/オフラインイベントを検出できます。各方法は異なるアプローチを提供しているため、自分の要件に合った最適な方法を選択してください。