r***@ZIJJJ.COM
r***@ZIJJJ.COM
  • 发布:2018-09-03 17:59
  • 更新:2018-09-03 19:52
  • 阅读:1731

【报Bug】使用沉浸式状态后,用plus.webview.create方法创建新窗口导航栏错位

分类:HTML5+

详细问题描述
[内容]
当使用了沉浸式状态栏,在首页用plus.webview.create方法创建新窗口,并将该窗口添加到首页的子窗口列表,再调用该子窗口的show方法后,子窗口的导航栏会紧贴屏幕顶端,该BUG只在IOS上存在;
这个BUG虽然可以通过设置 manifest.json文件中的 plus.launchwebview.statusbar.background 属性解决;但是这样的话在安卓就又会出现导航栏距离页面顶端很远的BUG。
可见下方附件图片:

重现步骤
[步骤]
当使用了沉浸式状态栏,在首页用plus.webview.create方法创建新窗口,并将该窗口添加到首页的子窗口列表,再调用该子窗口的show方法
[结果]
子窗口的导航栏会紧贴屏幕顶端,该BUG只在IOS上存在;
[期望]
解决该BUG

运行环境
[系统版本]
win10
[浏览器版本]
[IDE版本]
HBuilder 9.1.19.201808300739
[mui版本]
3.7.2

附件
[代码片段]

// 首页代码
let style = { // 子页面样式
top: '0px', // 设置距离顶部的距离
bottom: '50px', // 设置距离底部的距离
titleNView: {
backgroundColor: '#f7f7f7',
splitLine: {
color: '#ff0000'
}
}
}
let sub = plus.webview.create('demo.html', 'demo.html', style)
this.currentWebview.append(sub)
mui.later(function() {
sub.show()
}, 1000)

[安装包]

联系方式
[QQ]
87761720
[电话]
15133124113

2018-09-03 17:59 负责人:无 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

不应该将titleNView设置给子Webview,应该设置给父。
注意:子窗口没有对titleNView做到兼容支持,可能会出现非预期结果。

  • r***@ZIJJJ.COM (作者)

    其实我觉的就是IOS端 子窗口的导航栏没有加上状态栏的高度才导致导航栏的内容与状态栏太近,这个可否算是个BUG?能否解决下呢?

    2018-09-04 00:21

  • DCloud_App_Array

    如果沉浸式应用不配置statusbar就应该是不偏移状态栏高度的,从现象上看应该是配置statusbar后Android平台偏移高度不对(父子都偏移了)。

    此问题暂时不会修改,后续会限制子窗口使用titleNView。

    建议调整为父窗口使用titleNView。

    2018-09-04 15:59

  • 小权

    回复 DCloud_App_Array: 这个确实是个bug,官方提出,创建webview时,样式参数里加上{statusbar:{"background": "#000000"}},就可以实现对该webview去掉沉浸式的效果,这个在iOS或安卓打开新webview都是没问题的。就是iOS上子webview就不行了,安卓上没问题。这到底是安卓的bug还是IOS的Bug?如果按您说的,父窗口用titleNView,那其中某个子窗口要沉浸式(比如图片通顶)又要怎么设置?

    2020-04-27 17:22

该问题目前已经被锁定, 无法添加新回复