Javascript Chrome操作系统,通过Chrome扩展快速判断是否有互联网连接?

Javascript Chrome操作系统,通过Chrome扩展快速判断是否有互联网连接?,javascript,google-chrome-extension,google-chrome-os,network-connection,Javascript,Google Chrome Extension,Google Chrome Os,Network Connection,我正在尝试编写一个扩展,它将缓存页面内容以供脱机阅读。如果用户在脱机时激活扩展的弹出窗口,我想显示缓存的内容。目前,我想我可以发出一个ajax请求,然后等待它是否失败,但如果ChromeAPI中有一部分可以让我更快地完成这项工作,那将是理想的 我在谷歌上搜索了一下,没有发现任何问题。尝试了navigator.onLine?我读到它不可靠,但我只是做了一个测试(从WiFi断开),它工作了 if (navigator.onLine) { // Online } else { // Offli

我正在尝试编写一个扩展,它将缓存页面内容以供脱机阅读。如果用户在脱机时激活扩展的弹出窗口,我想显示缓存的内容。目前,我想我可以发出一个ajax请求,然后等待它是否失败,但如果ChromeAPI中有一部分可以让我更快地完成这项工作,那将是理想的


我在谷歌上搜索了一下,没有发现任何问题。

尝试了
navigator.onLine
?我读到它不可靠,但我只是做了一个测试(从WiFi断开),它工作了

if (navigator.onLine) {
  // Online
} else {
  // Offline
}
它还支持事件侦听器


navigator.onLine在大多数情况下报告正确,但我发现其中一个不正确的地方是,如果您禁用WiFi,但您的NIC端口插入了PoE以太网电缆。即使手机可能处于脱机状态,navigator.onLine也会报告浏览器实际上处于联机状态

听起来像导航器。联机检查网络连接,不一定是internet连接。如果您想确认用户可以访问internet,我认为您可以将此选项与定期或按需向google或其他可靠站点发出的Ajax请求结合使用,并监控响应以确定用户是否具有稳定的internet连接

如果网络状态更改navigator.onLine非常不可靠,则navigator.onLine不会立即正确反映更改。看见