ナビゲーターが状態をオンライン/オフラインに変更したかどうかをどのように検出できますか?
何かのようなもの:
var oldState = navigator.onLine;
window.navigator.onlinechange = function(evnt,newState) {
alert('your changed from' + oldState + ' to' + newState + 'state');
}
ナビゲーターが状態をオンライン/オフラインに変更したかどうかをどのように検出できますか?
何かのようなもの:
var oldState = navigator.onLine;
window.navigator.onlinechange = function(evnt,newState) {
alert('your changed from' + oldState + ' to' + newState + 'state');
}
ボディのクラスとこのコードの助けを借りて、あなたは見つけることができます
window.ononline = function() {
alert('You are now online');
}
window.onoffline = function() {
alert('You are now offline');
}
このようなもの(すべてのブラウザーがこれらのイベントをサポートしているわけではありません。現在、IE8,9およびFF>3のみがこれらのイベントをサポートしています):
var el = document.body;
if (el.addEventListener) {
el.addEventListener("online", function () {
alert("online");}, true);
el.addEventListener("offline", function () {
alert("offline");}, true);
}
else if (el.attachEvent) {
el.attachEvent("ononline", function () {
alert("online");});
el.attachEvent("onoffline", function () {
alert("offline");});
}
else {
el.ononline = function () {
alert("online");};
el.onoffline = function () {
alert("offline");};
}
ブラウザのサポートはさまざまです。これを確認してください:http://help.dottoro.com/ljnasgpu.php
よりクロスブラウザ互換にする必要がある場合は、navigator.onLineプロパティをポーリングする必要があります。
var status = document.getElementById('status')
setInterval(function () {
status.innerHTML = navigator.onLine ? 'online' : 'offline';
}, 250);
デモ: http: //html5demos.com/nav-online