忘记
忘记
  • 发布:2020-04-15 20:14
  • 更新:2020-04-16 06:42
  • 阅读:1289

navigator.userAgent IOS WKWebview 获取不到Immersed沉浸式状态栏高度,怎么解决?

分类:HBuilderX

var ms=(/Html5Plus\/.+\s(.(Immersed\/(\d+.?\d).*))/gi).exec(navigator.userAgent);
之前通过这个解决初始化进入页面跳动问题,更新WKWebview后就获取不到了,怎么解决

通过这个会出现跳动一下,体验很不好,有没有好的方式?
var StatusbarHeight = plus.navigator.getStatusbarHeight();

2020-04-15 20:14 负责人:无 分享
已邀请:
DCloud_heavensoft

DCloud_heavensoft

最好的方案是用原生导航栏,titleNView的back按钮可以自定义成你截图的样子,而且渲染快

  • 忘记 (作者)

    Immersed-UserAgent: Mozilla/5.0 (iPhone; CPU iPhone OS 12_4_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Html5Plus/1.0 (Immersed/20) 这个有时候能获取到,这个不能优化下吗?我们这个是已经完结的项目整体弄的话改动有点大

    2020-04-16 09:46

  • CLP

    回复 忘记: 你用的是什么版本的HX? 提供个demo来测试

    2020-04-16 11:07

  • 忘记 (作者)

    回复 CLP: 最新的HbuilderX -alpha 2.6.13 ,我现在 使用 immersed = plus.navigator.getStatusbarHeight(),临时解决了,效果还可以


    var ms=(/Html5Plus\/.+\s(.(Immersed\/(\d+.?\d).*))/gi).exec(navigator.userAgent);

    if(ms&&ms.length>=3){

    immersed=parseFloat(ms[2]);

    }

    w.immersed=immersed;


    if(!immersed){

    immersed = plus.navigator.getStatusbarHeight()

    if(!immersed){

    return;

    }

    }

    2020-04-16 11:46

  • CLP

    回复 忘记: 删除app,重新运行app试过吗

    2020-04-16 12:06

  • 忘记 (作者)

    回复 CLP: 试了,这个感觉是 随机的,打测试包,有时候可以获取,关掉再打开可能又不行了

    2020-04-16 13:19

  • CLP

    回复 1174958665@qq.com:你manifest.json 配置了statusbar节点吗?提供个完整的demo来吧,以及复现步骤。

    2020-04-16 15:40

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