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; ...
随机推荐
- 考据:internet 和 Web
我们有时大谈互联网发展趋势,有时讨论Web开发:有时说因特网如何,有时又说万维网怎样.但身处其间我们,有时雾里看花,对有些东西一知半解,这里对internet和Web进行一个简单梳理(很多东西缺少可信 ...
- CentOS7.x安装kickstart
kickstart简介 kickstartkickstart是RedHat公司开源的软件,所以对CentOS兼容性最好,是一种无人值守的安装方式就是将手动安装配置的步骤,记录到文件中,然后通过kick ...
- 13 在 Django REST framework 善用 SerializerMethodField方法
01-使用SerializerMethodField 来优化不必要的查询 class RepairQueueSerializer(serializers.ModelSerializer): # rq_ ...
- 【alpha阶段】第十次Scrum Meeting
每日任务内容 队员 昨日完成任务 明日要完成的任务 牛宇航 #26 评价总览接口编写https://github.com/rRetr0Git/rateMyCourse/issues/26 alpha阶 ...
- 详解WTL应用向导
之前向 VS2019 中添加了 WTL 应用向导,今天来分析下该应用向导安装的相关文件,最终达到拷贝相关文件到 VS2019 的相应目录中即可直接使用 WTL 应用向导的目的. 在 VS2017 之前 ...
- Spring缓存注解@Cacheable、@CacheEvict、@CachePut使用(转)
原文地址:https://www.cnblogs.com/fashflying/p/6908028.html 从3.1开始,Spring引入了对Cache的支持.其使用方法和原理都类似于Spring对 ...
- form单选框
form中的单选框: var resultStartRadio = new Ext.form.RadioGroup({ id : 'resultStartRadio', name :"for ...
- 【git】git hello world
以前不怎么会用. http://blog.sina.com.cn/s/blog_1485511700102xdig.html git add 文件夹/ 添加整个文件夹及内容 gi ...
- CRM公海自动回收规则
企微云CRM操作指南 – 道一云|企微https://wbg.do1.com.cn/xueyuan/2568.html 销售云 - 美洽 - 连接客户,亲密无间https://meiqia.com/s ...
- PHP变量传值赋值和引用赋值,变量销毁
<?php $a = 100; $b = 200; var_dump($a,$b); //int(100) int(200) ?> php中,上面的代码,变量是怎么存放的呢? 上面的代码变 ...