HBuilder\mui 关于选项卡点击跳转后,原地图页面无法关闭的问题

同时使用mui的选项卡功能和自带地图加载功能,存在点击选项卡跳转,地图页面无法关闭,一直显示在最上层,遮盖其他页面内容的问题。如果是另外打开新的页面,则不会存在这个问题。

解决方法:

采用双webview模式加载地图页面,在页面初始化时,加载子页面,子页面为仅展示地图页面,当前页面可以是包括顶部导航栏和底部选项卡的页面。

mui.init({
 subpages:[{
 url:'map.html',//子页面HTML地址,支持本地地址和网络地址
 id:'map.html',//子页面标志
 styles:{
 top:'45px',//子页面顶部位置
 bottom:'45px',//子页面底部位置
// width:subpage-width,//子页面宽度,默认为100%
// height:subpage-height,//子页面高度,默认为100%
// ......
 },
 extras:{}//额外扩展参数
 }]
 });

在跳转的页面增加如下代码,则可以隐藏地图子页面

mui.plusReady(function(){
 plus.webview.hide('map.html');
 });

最后,不要忘记在原页面增加显示地图子页面的代码

mui.plusReady(function(){
 plus.webview.show('map.html');
 });

关于创建子页面的方法可以参考官方文档http://dev.dcloud.net.cn/mui/window/#subpage

HBuilder\mui 返回上一页面并刷新

解决当添加一个项目,保存项目后,回到项目列表不会自动刷新,需要再后退一级再次进入才会显示新添加的项目的问题。希望保存成功后自动返回上一级页面,并且刷新页面,显示新添加的项目。

定义一个old_back函数,保存成功后调用old_back函数,返回到页面标志为”ID“的页面,并且刷新页面。

<script>
mui.plusReady(function(){
var old_back=function() {
 var wobj = plus.webview.getWebviewById("ID");//ID为页面的id,获取到上一页面
 wobj.reload(true);//重新加载页面
 } 
 });
function save(){
 mui.ajax('url',{
 data:{
 },
 dataType:'json',//服务器返回json格式数据
 type:'get',//HTTP请求类型
 timeout:10000,//超时时间设置为10秒;
 headers:{
  'Content-Type':'application/json',
 },
 success:function(data){
 alter("保存成功");
 old_back;
 },
 error:function(xhr,type,errorThrown){
 console.log(type);
 }
 });
 }
</script>

关于plus.webview.getWebviewById(“ID”)部分的文档可以参考http://www.html5plus.org/doc/zh_cn/webview.html

Hello World!

一直想要建立一个自己的网站,但是一直都没有机会,也什么都不懂,无从下手。偶然的机会,去年暑假购买了阿里云的服务器,之后又注册了域名,然后又花了几个一个多月时间进行备案,终于备案完成又被手头的事情耽搁了一段时间。终于历经千辛万苦,现在在网站写下这第一篇文章。虽然这个网站还十分的简陋,但是总算是搭起来了。

相信很多人和我一样学习编程是从打印Hello World开始的,编程也为我打开了一个全新的世界,这个网站,这篇文章作为”Hello World“,向这个全新的世界打一声招呼。

这是我去年5月5号早晨在路边不经意间发现的四叶草,没想到四叶草是真实的存在的,一直以为至少编造的美丽的谎言。万事皆有可能,希望它能带来幸运也是真的~~