为什么navigator.onLine不一致?有没有可靠的解决方案?

时间:2016-09-30 14:54:32

标签: javascript angularjs ionic-framework

我正面临连接检查的问题。使用navigator.onLine在我的离子应用程序中测试相同的内容。它在各种设备上非常不一致。它是一个跨平台应用程序。

是否有可靠且可靠的连接检查替代品?

1 个答案:

答案 0 :(得分:1)

如果浏览器支持navigator.onLine(typeof navigator.onLine ===" boolean"),则连接检查是可靠的。

如果浏览器不支持navigator.onLine(typeof navigator.onLine!==" boolean"),你需要某种黑客攻击。

一种可能的方法是检查是否存在在线资源(即图像)

var imgCheck = new Image();
imgCheck.onerror = function(){ console.log('offline');};
imgCheck.onload = function(){ console.log('online');};
imgCheck.src = <URL_OF_IMAGE> + '?' +new Date().getTime();