我正在尝试使用 HTML5 在线和离线事件准确检测浏览器何时离线。
这是我的代码:
<script>
// FIREFOX
$(window).bind("online", applicationBackOnline);
$(window).bind("offline", applicationOffline);
//IE
window.onload = function() {
document.body.ononline = IeConnectionEvent;
document.body.onoffline = IeConnectionEvent;
}
</script>
当我在 Firefox 或 IE 上点击“离线工作”时它工作正常,但当我实际拔下电线时它有点随机工作。
检测这种变化的最佳方法是什么?我想避免重复超时的 ajax 调用。
原文由 Pierre Duplouy 发布,翻译遵循 CC BY-SA 4.0 许可协议
目前在2011年,各个浏览器厂商对于如何定义离线还无法达成一致。一些浏览器具有离线工作功能,他们认为这与缺乏网络访问是分开的,这又不同于互联网访问。整个事情一团糟。某些浏览器供应商会在实际网络访问丢失时更新 navigator.onLine 标志,而其他浏览器供应商则不会。
从规格:
最后,规范说明: