小少年报
小少年报
  • 发布:2020-08-26 18:31
  • 更新:2021-08-05 16:06
  • 阅读:606

webview跟底部导航栏动态结合闪屏

分类:uni-app

我的底部导航栏是通过引入组件可以动态切换的,我现在在第一个tabBar-item 中,放入的是一个包裹了 webview 的组件,第二个也是

然后因为 webview 会自动铺满全屏,所以我通过 v-if 切换组件的时候,让 webview 漏出底部导航栏的高度

// #ifdef APP-PLUS  
                            var currentWebview = this.$mp.page.$getAppWebview(); //获取当前web-view  
                            setTimeout(function() {  
                                var wv = currentWebview.children()[0];  
                                wv.setStyle({ //设置web-view距离顶部的距离以及自己的高度,单位为px  
                                    bottom: 50,  
                                })  
                            }, 1000);  
                            // #endif

但是通过 v-if 之后的 webview 的组件,会有一个短暂的时间整个屏幕白屏,然后才会漏出底部导航栏,然后才是webview的内容,不给定时器的话底部导航栏也没有了

有没有什么方案能解决切换的时候短暂的白屏啊

2020-08-26 18:31 负责人:无 分享
已邀请:
小少年报

小少年报 (作者)

已解决

9***@qq.com

9***@qq.com - 牛仔

请问前辈这个问题怎么解决的

  • 小少年报 (作者)

    怎么说那 我觉得是解决了 但是好像也是不对 能覆盖webview的有subview和plus.nativeObj.View 他们确实做到了切换到webview,会覆盖在webview上方 不会导致闪屏。



    1. subview设置的底部选项卡,如果触发系统返回键,他会消失,他会误认为是弹窗关闭,可能是我在pages.json设置的不对,具体的你可以自己测试一下

    2. plus.nativeObj.View 这个设置的选项卡 不能添加点击事件 所以作废了


    这2个都能覆盖webview切换时产生的白屏。但是又出现了其他问题 所以不知道是不是解决了

    如果后面看到的大佬前辈 有更好的办法 我做一个抛砖引玉

    2021-10-28 11:29

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