将jQuery移动应用程序连接到服务器数据库,并在互联网连接关闭时打开弹出窗口
connect jQuery Mobile Application to server database and open popup when internet connection off
我正在使用jQuery Mobile和phonegap开发移动应用程序。
我的第一个问题是
1. 在这个应用程序中,我需要服务器端集成。我有自己的服务器。我需要的是,在我的应用程序中有一个称为图像的页面,所以我需要将此页面与我的服务器数据库连接,这样每次我在服务器数据库上上传图像时,应用程序都会自动更新。
第二个问题是:
2. 我想在我的应用程序中打开一个网站。当互联网连接关闭时,弹出窗口显示错误消息
我试试这个。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Website</title>
<meta content="width=device-width, minimum-scale=1, maximum-scale=1" name="viewport">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.3/jquery.mobile-1.4.3.min.css" />
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.3/jquery.mobile-1.4.3.min.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for PhoneGap to load
//
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
// PhoneGap is loaded and it is now safe to make calls PhoneGap methods
//
function onDeviceReady() {
}
// alert dialog dismissed
function alertDismissed() {
// do something
}
function checkReachability() {
var _check=true;
var networkState = navigator.network.connection.type;
var states = {};
states[Connection.UNKNOWN] = 'Unknown connection';
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI] = 'WiFi connection';
states[Connection.CELL_2G] = 'Cell 2G connection';
states[Connection.CELL_3G] = 'Cell 3G connection';
states[Connection.CELL_4G] = 'Cell 4G connection';
states[Connection.NONE] = 'No network connection';
//alert('Connection type: '+ networkState + states[networkState]);
if(networkState==="unknown"){
_check=false;
showAlert();
return _check;
}
else {
return true;
}
}
function showAlert() {
navigator.notification.alert("Please connect your device to Internet.",onDeviceReady,"No Network Connectivity","OK");
}
</script>
<div data-role="content">
<iframe id="content" src="www.google.com" style="width:100%; height:100%; position:absolute; left:0px; top:40px; margin:0px; padding:0px; frameborder:0; border-width:0; border-style:hidden;"> </iframe>
</div>
</body>
</html>
I tested on Android 2.3 and 4.1 but does not any popup when internet connection is off.
我建议客户端功能每隔几秒钟就会触发一次,请求一个图像列表,如果出现错误,就会弹出警告:
setInterval(
function(){
$.ajax({
type:'POST',
url:'ping.php',
data: {
attribute_1:attribute_1,
attribute_2:attribute_2
},
success: function(data){
//process image list
},
error: function(){
//trigger popup
}
});
},3000
);
编辑:对于图像处理步骤,您应该将图像列表与客户端列表进行比较,并检查新图像,因为您不希望在每次ajax调用时更新所有图像。
您还可以为ajax调用指定超时,例如:
$.ajax({
...
timeout: 1000,
error: function(jqXHR, textStatus, errorThrown) {
if(textStatus==="timeout") {
//trigger popup
}
}
});
此处提供关于$.ajax()的API文档:http://api.jquery.com/jquery.ajax/
相关文章:
- 我们如何在互联网断开连接或用户关闭选项卡/浏览器时调用注销servlet
- 当没有互联网连接时,谷歌地图Java脚本API处理
- 如果没有互联网连接,Android WebView离线消息
- 捕获”;没有互联网连接”;AngularJS中
- 我如何通过从服务器调用gif来检查是否有互联网连接
- 如果没有互联网连接,请隐藏iframe
- 如何捕捉不稳定的互联网连接
- 使用jquery检查互联网连接
- 使用 html5 的互联网连接代码
- 如果没有互联网连接,我想显示吐司,不知道该怎么做
- Jquery 移动错误消息,当没有互联网连接加载谷歌地图
- Jquery移动检查时没有互联网连接显示错误消息,而不是加载谷歌地图
- 当互联网连接丢失时,如何从 Ajax 调用中获取信息
- Angular js,如何在调用url之前检查用户是否有互联网连接
- 互联网连接检查不起作用
- 基于英特尔 xdk html5 的应用程序只能在启用互联网连接时工作
- 在javascript中检查互联网连接的最佳实践
- 如何检查移动互联网连接
- 使用 JavaScript 检测互联网连接
- Chrome操作系统,快速判断是否通过Chrome扩展连接互联网