0

这与我之前的问题有关,但是如果连接不好,navigator.onLine 会起作用吗?例如,设备已连接到路由器,但不会加载任何页面,或者任何其他会带来错误,告诉用户检查其连接的情况。我知道 navigator.onLine 在完全禁用连接时可以工作,但是除非您遇到连接不良,否则没有办法模拟不良连接。如果它不起作用,我可以用javascript做任何测试来ping服务器吗?

4

1 回答 1

1

从文档中:

在 Chrome 和 Safari 中,如果浏览器无法连接到局域网 (LAN) 或路由器,则它处于离线状态;所有其他条件都返回 true。因此,虽然您可以假设浏览器在返回 false 值时处于脱机状态,但您不能假设 true 值必然意味着浏览器可以访问互联网。

换句话说,一个坏的连接将返回true

要回答您的第二个问题,是的,您可以通过对您的服务器的 AJAX 调用来 ping 服务器。如果成功(您得到响应),那么您知道浏览器在线。如果超时,用户可能会遇到连接错误。

于 2012-05-29T15:52:25.243 回答