plus.nativeUI.confirm(rsp.note, function(event) 回调无法获取,是不是因为关闭了当前的webview?
client_index.html文件
<script type="text/javascript">
if (window.plus) {
plusReady()
} else {
document.addEventListener('plusready', plusReady, false)
}
function plusReady() { //这里是每次进入应用都会显示引导页,开发中要如何显示引导页视具体的情况而定。
plus.storage.setItem("launchFlag",1111)
console.log(1211212,JSON.stringify(plus.storage))
if(plus.storage.getItem("launchFlag") != true){
var style = {
"popGesture":"none"
}
var guide = plus.webview.create('guide.html', "guide", style);
guide.show();
}
}
</script>
guide.html
<script type="text/javascript">
mui.init();
mui.plusReady(function() {
/**
- 获取系统状态栏高度
- http://www.html5plus.org/doc/zh_cn/navigator.html#plus.navigator.getStatusbarHeight
*/
var sh = plus.navigator.getStatusbarHeight();
/** - 获取设备屏幕高度分辨率以及宽度分辨率
- http://www.html5plus.org/doc/zh_cn/device.html#plus.screen.resolutionHeight
- http://www.html5plus.org/doc/zh_cn/device.html#plus.screen.resolutionWidth
*/
var h = plus.screen.resolutionHeight;
var w = plus.screen.resolutionWidth;
/** - 设置图片高度,这里图片并不规范;
- 实际开发中,建议大家制作iphone6plus规格的图片;
*/
var imgs = document.querySelectorAll(".guide-img");
for (var i = 0, len = imgs.length; i < len; i++) {
imgs[i].style.height = (h - sh) + "px";
imgs[i].style.width = w + "px";
}
/** - 手动关闭启动页
-
http://www.html5plus.org/doc/zh_cn/navigator.html#plus.navigator.closeSplashscreen
*/
plus.navigator.closeSplashscreen();/************欢迎页自动跳过********** */ setTimeout(function(){ //关闭欢迎页 var ws = plus.webview.currentWebview(); plus.webview.close(ws, 'fade-out', 1000); /************升级检测代码开始********** */ var ua = navigator.userAgent; //Html5Plus环境,但不是流应用环境 // console.log(ua) // if(ua.indexOf('Html5Plus') > -1 && ua.indexOf('StreamApp') == -1) { if (ua.indexOf('Html5Plus') > -1 && !ua.indexOf('StreamApp') > -1) { var server = "http://www.dcloud.io/check/update"; //检查更新地址 var req = { //升级检测数据 "appid": plus.runtime.appid, "version": plus.runtime.version, "imei": plus.device.imei }; //注释部分是wap2app封装的post请求。示例使用get请求 mui.get(server, req, function(rsp) { var rsp = {}; rsp.status = 1; rsp.title = '新版本提示'; rsp.note = '1.APP重构\n2.UI美化\n3.增加企业专享标\n4.重要BUG修复必须更新'; rsp.url = 'https://a.app.qq.com/o/simple.jsp?pkgname=com.sfjf51.www'; rsp.is_must = 0; if (rsp && rsp.status) { //需要更新,提示用户 if (rsp.is_must == 1) { plus.nativeUI.confirm(rsp.note, function(event) { if (0 == event.index) { //用户点击了“立即更新”按钮 plus.runtime.openURL(rsp.url); } }, rsp.title, ["立即更新"]); } else { plus.nativeUI.confirm(rsp.note, (event)=> { console.log('打开:',JSON.stringify(event)) if (0 == event.index) { //用户点击了“立即更新”按钮 plus.runtime.openURL(rsp.url); } }, rsp.title, ["立即更新", "取消"]); } } }); } /************升级检测代码结束********** */ },8000) /************欢迎页自动跳过********** */ document.getElementById("start").addEventListener("tap", function() { /** * 向本地存储中设置launchFlag的值,即启动标识; * http://www.html5plus.org/doc/zh_cn/storage.html#plus.storage.setItem */ plus.storage.setItem("launchFlag", "true"); // mui.openWindow({ // url: "main.html", // id: "main", // extras: { // mark: "gudie" //同样,这里也只是个标识,实际开发中并不用; // } // }); // mui.back(); var ws = plus.webview.currentWebview(); plus.webview.close(ws, 'fade-out', 1000); //454665 }); }); /** * 重写mui.back(),什么都不执行,反之用户返回到入口页; */ mui.back = function() {}; </script>
2 个回复
[已删除]
你这个升级检测配置错地方了!可以找我帮你看看!
[已删除]
你这个升级检测配置错地方了!可以找我帮你看看!
滴滴滴cloud (作者)
我是从app.js中提到这里的,我的目的是想等欢迎页面完成后进行升级检测操作,放到app.js不知道如何控制
2019-01-14 14:55
[已删除]
写个延迟就可以了!
2019-01-17 04:29