Javascript 如何检查用户是否有internet连接
我需要根据React应用程序中的internet连接来设置调用哪个函数的条件,例如:Javascript 如何检查用户是否有internet连接,javascript,reactjs,web,cross-browser,Javascript,Reactjs,Web,Cross Browser,我需要根据React应用程序中的internet连接来设置调用哪个函数的条件,例如: if (connected) { call function Y() } else if (!connected) { call function X() } 我怎么能这么做?我已经用NetInfo和navigator.online试过了,但没能成功。来自navigator.online上的MDN文档: 如果浏览器不支持navigator.onLine它将始终显示为错误/未定义 要查看网络状态的更
if (connected) {
call function Y()
} else if (!connected) {
call function X()
}
我怎么能这么做?我已经用
NetInfo
和navigator.online
试过了,但没能成功。来自navigator.online上的MDN文档:
如果浏览器不支持navigator.onLine
它将始终显示为错误/未定义
要查看网络状态的更改,请使用addEventListener进行侦听
对于window.online和window.offline上的事件,如
以下示例:
window.addEventListener('offline', function(e) {
console.log('offline'); });
window.addEventListener('online', function(e) { console.log('online');
});
从navigator.onLine上的MDN文档: 如果浏览器不支持
navigator.onLine
它将始终显示为错误/未定义
要查看网络状态的更改,请使用addEventListener进行侦听
对于window.online和window.offline上的事件,如
以下示例:
window.addEventListener('offline', function(e) {
console.log('offline'); });
window.addEventListener('online', function(e) { console.log('online');
});
浏览器以不同的方式实现navigator.online属性 在Chrome和Safari中,如果浏览器无法连接到局域网(LAN)或路由器,则浏览器处于脱机状态;所有其他条件都返回true 在Firefox和Internet Explorer中,将浏览器切换到脱机模式会发送错误值。在Firefox 41之前,所有其他条件都返回真值;在Windows上的Nightly 68上测试实际行为表明,它只会寻找像Chrome和Safari这样的LAN连接,从而产生误报 我建议听一下在线活动,如果你得到了真实的答案,那就加倍确保向任何公共领域(如谷歌或你自己的领域)发出ajax请求 [根据][1]
[1]: https://developer.mozilla.org/en-US/docs/Web/API/NavigatorOnLine/onLine浏览器以不同方式实现navigator.online属性 在Chrome和Safari中,如果浏览器无法连接到局域网(LAN)或路由器,则浏览器处于脱机状态;所有其他条件都返回true 在Firefox和Internet Explorer中,将浏览器切换到脱机模式会发送错误值。在Firefox 41之前,所有其他条件都返回真值;在Windows上的Nightly 68上测试实际行为表明,它只会寻找像Chrome和Safari这样的LAN连接,从而产生误报 我建议听一下在线活动,如果你得到了真实的答案,那就加倍确保向任何公共领域(如谷歌或你自己的领域)发出ajax请求 [根据][1]
[1]: https://developer.mozilla.org/en-US/docs/Web/API/NavigatorOnLine/onLine你不是在找什么吗?正如我说的,我试过这个,但是当我同时操控
navigator.online
和window.navigator.online
时,我得到了未定义的
,只是为了确保你没有弄乱外壳(即必须是在线
,而不是在线
)你是对的,我把它弄糟了。它现在可以用了。非常感谢你。你不是在找什么东西吗?正如我说的,我试过这个,但是当我同时操控navigator.online
和window.navigator.online
时,我得到未定义的只是为了确保,你没有弄乱外壳(也就是说,它必须是在线的
,而不是在线的
)你是对的,我确实把它弄糟了。它现在可以工作了。非常感谢你