如何在JavaScript中检测Internet连接是否脱机?
我需要一些帮助,如何使用Javascript或jQuery或任何库(如果可用)检查互联网连接.因为我正在开发一个离线应用程序,我希望在用户离线时显示一个版本,如果用户在线则显示另一个版本.
目前我正在使用此代码:
if (navigator.onLine) {
alert('online');
} else {
alert('offline');
}Run Code Online (Sandbox Code Playgroud)
但这种方法检测起来很慢.有时它只是连接到没有互联网的网络,需要5到10秒才能发出警报false(没有互联网).
我看了一下Offline.js库,但我不确定这个库在我的情况下是否有用.我不知道如何使用它
刚刚问到如何使用javascript检查是否存在互联网连接,并得到了一些很好的答案.在Ruby中最简单的方法是什么?在尝试使生成的html标记代码尽可能干净时,我想有条件地渲染javascript文件的脚本标记,具体取决于是否存在Internet条件.像(这是HAML)的东西:
- if internet_connection?
%script{:src => "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js", :type => "text/javascript"}
- else
%script{:src => "/shared/javascripts/jquery/jquery.js", :type => "text/javascript"}
Run Code Online (Sandbox Code Playgroud) 我目前正在使用Tom Riley的Jquery插件在我的应用程序中检测Internet连接,它在Internet Explorer中工作正常,但在Google Chrome中实现它时没有响应.
任何人都可以建议一个更好的检测互联网连接的插件,它在谷歌浏览器中完美运行(所有浏览器)
我正在使用HTML5,CSS3,jQuery Mobile,jQuery UI,ASP.NET,C#和一些jQuery插件为调查创建这个简单的移动网页.其中一个要求是显示弹出/对话框(javascript警报或jQuery移动对话框,如果是jQuery UI对话框,则更好),只要设备没有互联网连接(特别是Android),就会通知用户.目前我有这个代码:
<link rel="stylesheet" href="../Scripts/jqueryui/jquery-ui.css" type="text/css" media="all" />
<link rel="stylesheet" href="../Scripts/jquery.mobile-1.1.0.css" />
<script src="../Scripts/jquery-1.7.1.js" type="text/javascript"></script>
<script src="../Scripts/jquery.mobile-1.1.0.js" type="text/javascript"></script>
<script src="../Scripts/jqueryui/jquery.min.js" type="text/javascript"></script>
<script src="../Scripts/jqueryui/jquery-ui.min.js" type="text/javascript"></script>
<script src="../Scripts/jquery.validate.js" type="text/javascript"></script>
<script type="text/javascript">
var online = window.navigator.onLine;
if (!online) {
alert('Please check your internet connection and try again.');
}
function checkInternet() {
var online = window.navigator.onLine;
if (!online) {
alert('Please check your internet connection and try again.');
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
然后我把JavaScript函数放在表单的onsubmit事件上:
<form id="frmSurvey" runat="server" class="validate" onsubmit="checkInternet()">
Run Code Online (Sandbox Code Playgroud)
当我在台式机/ PC浏览器上查看但它根本无法在移动设备上运行时,它正在工作.jQuery Mobile错误加载页面.
因为,这不是我调整jQuery Mobile文件的要求,注释了错误加载页面消息部分,它不再出现了.我已经尝试过谷歌搜索任何相关主题,但没有找到任何相关主题.
我真的很难让这成为可能.请帮帮我们! …
当用户尝试在没有Internet连接的情况下登录时,我只需要检查他/她是否已连接到Internet.
我尝试了以下代码:
if (status == '404') {
$scope.error="No internet connection";
return false;
}
Run Code Online (Sandbox Code Playgroud)
但即使我的Web服务无法连接,此状态404也会出现.我需要区分两者,如果是用户的互联网连接问题或Web服务连接问题.
目前,我正在制作一个缓存的iPhone应用程序,其中包含一些需要互联网的功能,以及其他不支持互联网功能的功能.我想知道如何使用JavaScript检测互联网连接,使某些页面显示"无互联网连接"文本,以及其他人正常工作.
如何检查javascript中是否有互联网连接?我在谷歌搜索过,但我找不到解决问题的好方法.
我已经有两个事件处理程序:
document.body.addEventListener("offline", function () {
//alert("offline")
masterViewModel.online(false)
}, false);
document.body.addEventListener("online", function () {
//alert("online")
masterViewModel.online(true);
}, false);
Run Code Online (Sandbox Code Playgroud)
但如果我在线,如何检查"onload"功能?
javascript ×6
jquery ×4
offline ×2
ajax ×1
angularjs ×1
browser ×1
connectivity ×1
html ×1
jquery-ui ×1
ruby ×1