app每次更新版本时调用js代码提示用户下载更新
var url = '网络地址';
//APP升级
var wait;
function update(){
//判断操作系统
var system = 'android';
if(mui.os.ios){
system = 'ios';
}
mui.getJSON(url+'/apicommon/update/index',{
app:'cooperatives',
system:system,
version:plus.runtime.version
},function(data){
//data = JSON.stringify(data);
if(data.code==){
var APPInfo = data.data;
if(APPInfo.colum=='full'){
mui.confirm(APPInfo.brief, APPInfo.name, ['稍后','立即升级'], function(e) {
if(e.index==){
if(system=='android'){
//当苹果调整进市场下载
plus.runtime.openURL(APPInfo.url);
plus.nativeUI.closeWaiting();
}else{
wait = plus.nativeUI.showWaiting("下载升级文件",{width:'100%',height:'100%',round:,background:'rgba(0,0,0,0.3)'});
//当安卓及其他下载
var dtask = plus.downloader.createDownload(url+APPInfo.url, {}, function(d, status){
if(status == ){
console.log(d.filename);
wait.setTitle("安装APP更新");
plus.runtime.install(d.filename,{},function(){
plus.nativeUI.closeWaiting();
mui.alert('应用安装完成', '升级成功', '确认重启', function(e) {
plus.runtime.restart();
});
delFile(d.filename);
},function(e){
plus.nativeUI.closeWaiting();
mui.toast('安装失败');
delFile(d.filename);
});
} else {
plus.nativeUI.closeWaiting();
mui.toast('下载失败');
}
});
dtask.addEventListener("statechanged", onStateChanged, false);
dtask.start();
}
}
});
}else{
var dtask = plus.downloader.createDownload(url+APPInfo.url, {}, function(d, status){
if(status == ){
plus.runtime.install(d.filename,{},function(){
delFile(d.filename);
},function(e){
delFile(d.filename);
});
}
});
dtask.start();
}
//plus.navigator.closeSplashscreen();
}
});
}
function onStateChanged(download, status) {
wait.setTitle((download.downloadedSize/( * )).toFixed()+'MB/'+(download.totalSize/( * )).toFixed()+'MB');
}
function delFile(filename) {
plus.io.resolveLocalFileSystemURL(filename, function(entry) {
entry.remove();
});
} //打开新窗口
function opens(url,data){
mui.openWindow({
url:url,
id:url,
waiting:{
autoShow:false,
},
show:{
aniShow:"pop-in"
},
extras:data
});
}
//登录窗口
function login_open(url,data){
mui.openWindow({
url:url,
id:url,
waiting:{
autoShow:false,
},
show:{
aniShow:"slide-in-bottom"
},
extras:data
});
}
//登录窗口
function search_open(url,data){
mui.openWindow({
url:url,
id:url,
waiting:{
autoShow:false,
},
show:{
aniShow:"none"
},
extras:data
});
}
//监听状态栏
mui.ready(function() {});
mui.plusReady(function() {}); /* mui.ajax(url+'apicommon/update/index',{
data:{
app:'cooperatives',
system:'ios',
version:plus.runtime.version
},
dataType:'json',//服务器返回json格式数据
type:'post',//HTTP请求类型
success:function(data){
console.log('加载:3');
response = JSON.stringify(data);
console.log('加载:'+response);
plus.navigator.closeSplashscreen();
},
error:function(xhr,type,errorThrown){
//异常处理;
console.log('异常:'+type);
}
}); */
app每次更新版本时调用js代码提示用户下载更新的更多相关文章
- 在Java中直接调用js代码(转载)
http://blog.csdn.net/xzyxuanyuan/article/details/8062887 JDK1.6版添加了新的ScriptEngine类,允许用户直接执行js代码. 在Ja ...
- 在Java中直接调用js代码
JDK1.6版添加了新的ScriptEngine类,允许用户直接执行js代码. 在Java中直接调用js代码 不能调用浏览器中定义的js函数,会抛出异常提示ReferenceError: “alert ...
- 解决VSCode中使用vetur插件格式化vue文件时,js代码会自动加上冒号和分号
解决VSCode中使用vetur插件格式化vue文件时,js代码会自动加上冒号和分号 在设置中把"vetur.format.defaultFormatter.js": " ...
- Zend Studio 上 安装使用Aptana插件(html,css,js代码提示功能) .
最近装了zend studio 9.0 用了段时间发现写html,css,js代码没提示,要开dreamwaver(对js代码提示也不好).就网上搜索了下,发现了Aptana插件,装上用了下,感觉不错 ...
- 【前端】js代码模拟用户键盘鼠标输入
js代码模拟用户键盘鼠标输入 原生js var event = new Event('mousewheel'); event.wheelDelta = 360 document.dispatchEve ...
- <a>标签中的href如何调用js代码
在HTML中,<a>标签的href属性用于指定超链接的目标的URL.在所有浏览器中,链接的默认外观是: 未被访问的链接带有下划线而且是蓝色的 已被访问的链接带有下划线而且是紫色的 活动链接 ...
- python 调用js代码
Python2 安装pyv8 pip install-egit://github.com/brokenseal/PyV8-OS-X#egg=pyv8 from pyv8 import PyV8 c ...
- dropdownlist值改变时调用js
DropDownList的OnSelectedIndexChanged方法是服务器端方法如要用需要设置AutoPostBack选项为true,并且在服务器后台写方法 要调用js方法需要onchange ...
- OC 调用JS 代码 处理HTML5 实战
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; ...
随机推荐
- Codeforces Round #539 (Div. 2) - C. Sasha and a Bit of Relax(思维题)
Problem Codeforces Round #539 (Div. 2) - C. Sasha and a Bit of Relax Time Limit: 2000 mSec Problem ...
- handsontable合并表头
想在页面中做类似excel的操作,发现handsontable符合要求. 然后发现这个文章 http://blog.csdn.net/wynan830/article/details/9054195 ...
- Kubernetes 网络排错指南
本文介绍各种常见的网络问题以及排错方法,包括 Pod 访问异常.Service 访问异常以及网络安全策略异常等. 说到 Kubernetes 的网络,其实无非就是以下三种情况之一 Pod 访问容器外部 ...
- C语言之各个位数上的数值之和
#include<stdio.h> #include<stdlib.h> void main() { int num; ; int x,y; printf("请输入一 ...
- DevOps时代,企业数字化转型需要强大的工具链
伴随时代的飞速进步,中国的人口红利带来了互联网业务的快速发展,巨大的流量也带动了技术的不断革新,研发的模式也在不断变化.传统企业纷纷效仿互联网的做法,结合DevOps进行数字化的转型. 通常提到Dev ...
- Appium 服务器初始化参数(Capability)
键 描述 值 automationName 自动化测试的引擎 Appium (默认)或者 Selendroid platformName 使用的手机操作系统 iOS, Android, 或者 Fire ...
- (八)jdk8学习心得之Optional类
八.Optional 类 1. 作用:可以存放空指针null,主要用于解决空指针问题. 2. 使用方法 1) 创建对象(2种方法) Optional optional = Optional.of(非n ...
- React Native动画总结
最近在使用react native进行App混合开发,相对于H5的开发,RN所提供的样式表较少,RN中不能使用类似于css3中的动画,因此,RN提供了Animated的API 1.写一个最简单的动画 ...
- ADO.Net笔记整理(一)
几次装机,Notes已烟消云散,近日因为Node.js死活搞不定,无奈装机,备份好的东东,没想到磁盘扇区出现异常,可能是PE启动盘的病毒,只好将磁盘全部重新分区,恢复数据也懒得恢复了,日积月累关乎将来 ...
- OpenCV和selenum实现点击操作
import cv2 as cv import numpy as np from PIL import Image, ImageDraw, ImageFont import os from selen ...