主要的浏览器供应商在“离线”意味着什么不同。
Chrome和Safari会自动检测您何时“离线” - 这意味着当您拔下网络电缆时,“在线”事件和属性会自动触发。
Firefox(Mozilla),Opera和IE采用不同的方法,并认为您“在线”,除非您在浏览器中明确选择“离线模式” - 即使您没有可用的网络连接。
有关Firefox / Mozilla行为的有效参数,这些参数在此错误报告的注释中列出:
但是,要回答这个问题 - 您不能依赖在线/离线事件/属性来检测是否存在网络连接。
相反,您必须使用其他方法。
此Mozilla Developer文章的“Notes”部分提供了两种替代方法的链接:
“如果API未在浏览器中实现,您可以使用其他信号来检测您是否处于脱机状态,包括侦听AppCache错误事件和XMLHttpRequest响应”
这链接到“侦听AppCache错误事件”方法的示例:
...以及“侦听XMLHttpRequest失败”方法的示例:
HTH, - 乍得