首次启动时加载引导页会弹一下首页,之后才跳转到引导页,想请教一下大神们,怎么才能让程序直接跳转到导航页而不弹出首页
HSQ2025
- 发布:2016-07-28 14:18
- 更新:2016-07-28 16:08
- 阅读:3790
我的方案是加入一个入口页用来专门做引导页或首页的跳转,我也是之前把guide的逻辑写在index里发现根本不行,尤其低端安卓机要等半天才跳引导页,效果非常不好;
具体说下我的思路和遇到的坑供你参考;
1、首先加入一个potral.html,并将manifest.json中的页面入口改为potal.html;
portal.html逻辑
<script type="text/javascript">
mui.init()
mui.plusReady(function() {
if(plus.storage.getItem("guide") == 'yes') {
mui.openWindow('index.html','index.html',{show:{aniShow:'none'}});
} else {
mui.openWindow('guide.html','guide.html',{show:{aniShow:'none'}});
}
})
</script>
2、解决返回逻辑问题,因为页面入口文件不再是index.html所以会导致主页(index.html)可以被关闭,所以要进行以下处理在引导页(guide.html)和主页中(index.html);
1) 屏蔽back事件在guide.html页
var old_back = mui.back;
mui.back = function(){
return false;
}
3)处理首页(index.htnl)在安卓中无法双击两次物理back键而退出应用的问题
首页的处理我们需要屏蔽back事件但保留连击物理back键关闭应用的功能,代码如下
var back_first = null;
mui.back = function(){
if (!back_first) {
back_first = new Date().getTime();
mui.toast('再按一次退出应用');
setTimeout(function() {
back_first = null;
}, 2000);
} else {
if (new Date().getTime() - back_first < 2000) {
plus.runtime.quit();
}
}
return false;
}
2) 停用iOS的右滑关闭在引导页(guide.html)和主页中(index.html);
mui.plusReady(function(){
var self = plus.webview.currentWebview();
self.setStyle({'popGesture':'none'});
});
稍微有点乱,有问题请指出
表示不理解,就算把入口文件index.html换成了potal.html,但是在这两个页面处理的重点业务逻辑也没什么变化,真是不太理解
HSQ2025 (作者)
前面我也想过这么做,但是感觉好像不大好,想看看还有没有更好的办法
2016-07-28 15:19