6

我正在尝试编写一个扩展来缓存页面内容以供离线阅读。如果用户在离线时激活扩展的弹出窗口,我想显示缓存的内容。目前,我想我可以发出一个 ajax 请求并等待它是否失败,但如果 chrome API 的一部分可以让我更快地做到这一点,那将是理想的。

我做了一些谷歌搜索,没有遇到任何事情。

4

4 回答 4

18
if (navigator.onLine) {
  // Online
} else {
  // Offline
}

它还支持事件侦听器。

https://developer.mozilla.org/en/Online_and_offline_events

于 2012-02-27T21:15:29.300 回答
4

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

于 2014-04-04T11:22:39.207 回答
3

试过了navigator.onLine吗?我读到它不可靠,但我只是做了一个测试(从 WiFi 断开连接)并且它有效。

于 2012-02-27T21:14:19.410 回答
3

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

于 2012-09-19T00:48:51.557 回答