美文网首页
基于uniapp开发的H5实现动态隐藏导航栏

基于uniapp开发的H5实现动态隐藏导航栏

作者: 带带我 | 来源:发表于2023-06-19 14:03 被阅读0次

背景:公司另一个小程序想把我们的H5嵌入到他们小程序中,要隐藏掉导航栏,用他们的导航,我们自己的H5还是要保留导航栏的。

实现
1、增加一个中间页用于处理路由和登录,在onLoad中拿到路由和参数
      //登录也需要处理,这里没有展示
        onLoad(params) {
            console.log(JSON.stringify(params))
            if (params.hideNavBar && params.hideNavBar == '1'){
                //拿到hideNavBar == 1就本地缓存下来
                setNavBarStatus("1")
            }
            //此处应登录后跳转到对应页面
            uni.redirectTo({
                url: "/" + params.redirectUrl
            })
        },
2、在APP.vue的mounted()方法中调用隐藏方法,监听路由跳转时再一次执行隐藏方法
        mounted() {
            this.hideNavBar()
        },
        watch:{
            $route(to, from){
                this.hideNavBar()
            },
        },
        methods:{
            hideNavBar(){
                //判断是H5且调用方要求隐藏导航 getNavBarStatus() == '1'
                /*#ifdef H5*/
                if (getNavBarStatus() == '1'){
                    this.$nextTick(() => {
                        let head = document.getElementsByTagName('uni-page-head')
                        console.log(JSON.stringify(head), "head")
                        if (head[0]){
                            head[0].style.display = 'none'
                        }
                    })
                }
                /*#endif*/
            }
        }
3、注意页面的page.json中的页面不能配置自定义导航栏

如下

{
            "path" : "pages/****/****",
            "style" :                                                                                    
            {
                "navigationBarTitleText": "",
                "enablePullDownRefresh": false,
                "navigationStyle": "custom"//不可以配置custom,此时无法隐藏
            }
            
        }

相关文章

  • Android隐藏状态栏、导航栏

    Android隐藏状态栏、导航栏 Android 动态隐藏显示导航栏,状态栏 一、导航栏: 相关: 二、状态栏: ...

  • 关于界面跳转时Navigationbar的白条问题

    在开发中我们有的界面需要隐藏导航栏 ,而下个界面则不需要隐藏导航栏 这个时候我们可以在这两个方法中来实现导航栏的隐...

  • 对UIWebView进行优化

    1.对导航栏和工具栏进行优化,实现SFSaferiViewController的效果,即向上滑动动态隐藏,向下滑动...

  • iOS 隐藏导航栏带来的坑

    在开发中会遇到这种情景: A控制器需要隐藏导航栏 B控制器不需要隐藏导航栏,然而设置隐藏A控制器的导航栏会造成返回...

  • 关于滑动UITableView上滑隐藏导航栏,下滑显示导航栏

    关于滑动UITableView上滑隐藏导航栏,下滑显示导航栏 复制以下代码即可实现 实现ScrollView的代理...

  • 上滑隐藏,下滑显示顶部导航栏

    效果图 通过手势改变导航栏的显示和隐藏 实现思路 通过给顶部导航栏添加,移除 class 来实现隐藏和显示的动画 ...

  • iOS之导航栏详解

    导航栏作为iOS开发的一大空控件来说,是非常的重要,可以实现各种效果,隐藏,透明,简书的导航栏动画等等,这次就写一...

  • 导航栏平滑过渡

    在开发过程中,经常遇到导航栏隐藏的需求,当导航栏隐藏界面跳转以及返回有导航栏界面时,需要一个平滑的过渡效果,上代码:

  • 隐藏导航栏

    隐藏导航栏 显示导航栏

  • UINavigationController

    案例一:实现全屏滑动 案例二:去掉导航栏下的线 案例三:隐藏tabbar 案例三:隐藏导航栏返回文字 案例四:改变...

网友评论

      本文标题:基于uniapp开发的H5实现动态隐藏导航栏

      本文链接:https://www.haomeiwen.com/subject/htjeydtx.html