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

Chrome OS, quickly tell if there is an internet connection or not via a Chrome extension?

本文关键字:Chrome 扩展 连接 互联网 判断 操作系统 是否      更新时间:2023-09-26

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

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

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

它还支持事件侦听器。

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

是否尝试navigator.onLine?我读到它不可靠,但我只是做了一个测试(断开与WiFi的连接),它奏效了。

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

听起来像导航器。在线检查网络连接,而不一定是互联网连接。如果你想确认用户可以访问互联网,我认为你可以将此选项与定期或按需Ajax请求结合使用,以访问谷歌或其他可靠的网站,并监控响应以确定用户是否有稳定的互联网连接。