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; ...
随机推荐
- RestTemplate 发送 get 请求使用误区 多个参数传值为null(转载)
首先看一下官方文档是怎么描述的,传递多个值的情况(注意例子中用到的@pathParam,一般要用@queryParam) RestTemplate 实例 @Configuration public c ...
- 转://oracle 软件的收费模式
Oracle软件本身是免费的,所以任何人都可以从Oracle官方网站下载并安装Oracle的数据库软件,收费的是License,即软件授权,如果数据库用于商业用途,就需要购买相应Oracle产品的Li ...
- 如何注册一个google账号
注册过google账号的人都知道,在注册的过程中会需要短信验证. 可我大天朝偏偏连这个都锁了,导致根本验证不了. 所以,经过网上方法的不断尝试,排除了很多的方法:例如使用qq邮箱注册等,现在已经不能用 ...
- QTableWidgetItem class
Help on class QTableWidgetItem in module PyQt5.QtWidgets: class QTableWidgetItem(sip.wrapper) | QT ...
- 浅谈 Angular 项目实战
为什么使用 Angular 我不是 Angular 的布道者,但如今痴迷 Angular,使用 Angular 做项目让我有一种兴奋感.目前的三大主流前端框架都研究过,博客中也有三者的相关教程,最早接 ...
- 如何使用ASP.NET Core、EF Core、ABP(ASP.NET Boilerplate)创建分层的Web应用程序(第一部分)
本文是为了学习ABP的使用,是翻译ABP官方文档的一篇实战教程,我暂时是优先翻译自己感兴趣或者比较想学习的部分,后续有时间希望能将ABP系列翻译出来,除了自己能学习外,有可能的话希望帮助一些英文阅读能 ...
- codeforces 792A-D
先刷前四题,剩下的有空补. 792A New Bus Route 题意:给出x 轴上的n 个点,问两个点之间的最短距离是多少,有多少个最短距离. 思路:排序后遍历. 代码: #include<s ...
- VBS 备份文件
http://www.cnblogs.com/top5/archive/2009/11/17/1604767.html 参考上面的博客 ' =============== 局域网文件自动备份 VBS ...
- poj-1904(强连通缩点)
题意:有n个王子,每个王子都有k个喜欢的女生,王子挑选喜欢的女生匹配,然后再给你n个王子最开始就定好的匹配,每个王子输出能够结合且不影响其他王子的女生匹配 解题思路:强连通缩点,每个王子与其喜欢的女生 ...
- thinkphp 迁移数据库 -Phinx 简单说明文档
php think migrate migrate:create Create a new migration ///创建 migrate:rollback Rollback the last or ...