检查是否有互联网连接

时间:2013-04-16 11:12:42

标签: javascript javascript-events

如何检查javascript中是否存在互联网连接? 我在谷歌搜索过,但我找不到解决问题的好方法。

我已经有两个事件处理程序:

document.body.addEventListener("offline", function () {
    //alert("offline")
    masterViewModel.online(false)
}, false);
document.body.addEventListener("online", function () {
    //alert("online")
    masterViewModel.online(true);
}, false);

但如果我在线,如何检查“onload”功能?

4 个答案:

答案 0 :(得分:19)

在HTML5中,according to the specs

var online = navigator.onLine;

答案 1 :(得分:3)

您好,您可以这样做:

var connectionMessage = "internet connection";
var noConnectionMessage = "No internet connection.";
window.onload = checkInternetConnection;
function checkInternetConnection() {
  var isOnLine = navigator.onLine;
   if (isOnLine) {
      alert(connectionMessage);
   } else {
     alert(noConnectionMessage);
   }
}

答案 2 :(得分:0)

var online = navigator.onLine;每次都不起作用。有时您的连接已启用但您无法从互联网上获取数据或即使您在线也无法访问网站...因此,在线时间返回true,因为您在线。当时“navigator.onLine”不是 可用的。

”  您可能会收到误报,例如计算机运行的虚拟化软件具有始终“连接”的虚拟以太网适配器。因此,如果您确实想确定浏览器的在线状态,则应开发其他检查方法。要了解更多信息,请参阅HTML5 Rocks文章, “ check this article

你必须使用ajax请求来检查......

答案 3 :(得分:0)

为什么不对一个众所周知的地址进行ajax调用,比如StackOverflow。如果你没有得到404,你就在线了。