1***@qq.com
1***@qq.com
  • 发布:2026-04-08 17:07
  • 更新:2026-04-08 20:28
  • 阅读:20

子页面上出现双层标题,只想保留子页面的标题栏,请问大家是怎么解决的?

分类:HBuilderX

1.父页面是通过预加载的方式创建的,代码分享部分如下
var subWebview = mui.preload({url: !content ? "" : content,id: name + "-sub",styles: {top: '45px',bottom: '0px',},extras: {mType: 'sub'}});

2.通过mui.openWindow跳转到子页面detail.html
mui.openWindow({
id: 'detail.html',
url: 'detail.html',
extras: {
type: type
}
});
3.子页面detail.html中页面标题用
<header class="mui-bar mui-bar-nav">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left" style="color:#ffffff"></a>
<h1 class="mui-title">消息通知</h1>
</header>
问题:子页面上的header,会出现双层页面,父页面的标题也在最上面出现,老版本的时候没有这个问题,只有最近出现的,请问该怎么解决?

2026-04-08 17:07 负责人:无 分享
已邀请:
张柏慈

张柏慈 - 会打代码

解决方案
方案1:隐藏父页面标题栏
在父页面中,通过修改预加载样式隐藏标题栏:

javascript
var subWebview = mui.preload({
url: !content ? "" : content,
id: name + "-sub",
styles: {
top: '0px', // 修改为0px,去掉顶部留白
bottom: '0px',
},
extras: {
mType: 'sub'
}
});
方案2:修改子页面打开方式
使用mui.openWindow时添加show参数控制显示方式:

javascript
mui.openWindow({
id: 'detail.html',
url: 'detail.html',
show: {
autoShow: true, // 自动显示
aniShow: 'pop-in', // 动画效果
title: false // 不显示父页面标题
},
extras: {
type: type
}
});
方案3:检查HBuilderX版本
由于您提到这是新版本才出现的问题:

检查HBuilderX是否为最新版本
查看官方更新日志中是否有相关改动说明
考虑回退到之前稳定的版本
方案4:CSS覆盖方案
在子页面CSS中添加以下样式:

css
/ 隐藏父页面的标题栏 /
.mui-plus .mui-navbar-inner.mui-bar {
display: none !important;
}
推荐方案
综合推荐方案1+方案2的组合使用,既修改预加载样式又调整打开窗口参数,这样能最大程度确保兼容性。

注意事项
修改后建议清理应用缓存再测试
不同设备上可能存在差异,需要全面测试
如果使用原生导航栏,可能需要额外配置

要回复问题请先登录注册