这与我之前的问题有关,但是如果连接错误,navigator.onLine会工作吗?例如,设备连接到路由器,但不会加载任何页面,或任何其他会带来错误的信息,告知用户检查其连接。我知道navigator.onLine在完全禁用连接时有效,但除非遇到连接错误,否则无法模拟连接错误。如果它不起作用,我可以用javascript来ping服务器吗?
答案 0 :(得分:1)
在Chrome和Safari中,如果浏览器无法连接到本地 区域网络(LAN)或路由器,它处于脱机状态;所有其他条件 返回true。因此,虽然您可以假设浏览器处于脱机状态时 它返回一个false值,你不能假设一个真值 必然意味着浏览器可以访问互联网。
换句话说,错误的连接将返回true
。
要回答第二个问题,是的,您可以通过对服务器的AJAX调用ping服务器。如果成功(您收到回复),那么您就知道浏览器在线了。如果超时,则用户可能遇到连接错误。