H5app自动更新思路与实现

本文探讨了H5应用程序的自动更新流程。通过在服务器上设置一个json文件,存储当前APP的最新版本号,与客户端进行比较,实现无缝更新。

1.在服务器需要一个json或html文件,json最好。

{
	"state": "yes",//是否自动更新
	"mark": "1.0.6",//版本号
	"url": "http:\/\/XXXXXXXX\/APPobject\/mmm.apk"//更新的应用下载地址
}

2.自动更新函数

t是你当前正在运行的APP的版本号

//检查自动更新
function svn(t) {
	var xhr_svn = new plus.net.XMLHttpRequest();
	xhr_svn.onreadystatechange = function() {
		if (xhr_svn.readyState == 4) {
			if (xhr_svn.status == 200) {
				var res = JSON.parse(xhr_svn.responseText);
				if (res.state == 'yes') {
					if (res.mark != t) {
						var upr;
						plus.nativeUI.confirm( "有新版本发布了,是否件更新?", function(e){
							upr=(e.index==0)?"Y":"N";
//							console.log(upr);
							if(upr=="Y"){
							var wt = plus.nativeUI.showWaiting('下载更新中,请勿关闭');
							var url = res.url; // 下载文件地址
							var dtask = plus.downloader.createDownload(url, {}, function(d, status) {
								if (status == 200) { // 下载成功
									var path = d.filename;
									console.log(d.filename);
									plus.runtime.install(path);
								} else { //下载失败
									alert("Download failed: " + status);
								}
							});
							dtask.start();
							}else{
								
							}
						}, "XXX系统", ["确认","取消"] );
						
						
					} else {
						console.log('最新');
					}
				}
			} else {
				plus.nativeUI.toast( "网络连接错误!");
			}
		}
	}
	xhr_svn.open("GET", "http:/XXX/APPobject/imes/update.json");//这里的地址是上面json文件的地址
	xhr_svn.send();

}
3.调用方法:在每次系统打开运行的时候执行上面的函数就可以

svn(版本号);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值