7***@qq.com
7***@qq.com
  • 发布:2018-02-08 15:29
  • 更新:2018-09-04 10:35
  • 阅读:2112

分享一个带登录的 demo,解决了双webview导航启动时,首页加载卡顿的问题

分类:MUI

研究了好久的首页启动白屏卡顿现象,虽然只有那么短短的几毫秒,但是看着总是不舒服,尝试了官方推荐的nativeTab_demo。

但是不想用那个小凸点的半圆球,改了好久都没有解决问题,无奈还是选用了这个,然后就在官方的代码上继续修改,终于找到突破口,略微修改了一下代码,实现了启动的时候 加载首页可以像nativeTab_demo那么迅速显示,不卡顿,而且可以少加载一个页面,直接加载的首页可以显示,不用再定义main页面。

所以也想分享给各位在坑中挣扎的兄弟们。这个是我准备给公司开发的APP用的,就直接分享基础版的东西给你们吧。代码写的不好,大神勿喷。

demo在下面,自己下载吧!

 mui.init();  

    /**此处是有四个菜单,首页不需要在这里创建,默认访问的首页会自动创建出来,所以tuan.html算第二个菜单开始**/  
    var subPages = ['tuan.html','small.html','person.html'];  
    mui.plusReady(function(){  

        //创建主体和子页面  
        var sub0 = plus.webview.getWebviewById(subPages[0]);  
        var sub1 = plus.webview.getWebviewById(subPages[1]);  
        var sub2 = plus.webview.getWebviewById(subPages[2]);  
/**此处保证页面只有第一次运行的时候去创建那几个子页面**/  
        if(!sub0 || !sub1 || !sub2){  
            var self = plus.webview.currentWebview();  
            for(var i=0;i<3;i++){  
                var sub = plus.webview.create(  
                subPages[i],  
                subPages[i],  
                {  
                    top:'0px',  
                    bottom:'51px'  
                });  
            }  
/**此处不写hide()方法也是可以的,运行时,其他页面创建出来后都在首页后面被遮住了好像,具体我也没懂**/  
        }  
        mui(".mui-bar-tab").on("tap","a",function(e){  
            var tagPage = this.getAttribute("href");  
/**此处如果是点击首页,就隐藏其他页面,就会显示首页了**/  
            if(tagPage == 'index.html'){  
                for(var j=0;j<3;j++){  
                    plus.webview.getWebviewById(subPages[j]).hide();  
                }  
            }else{  
                plus.webview.show(tagPage,"fade-in",300);  
            }  
        })  

    });

写的不好,多多指教!还有一个问题,双webview模式去加载的时候,每次点击列表进入详情页面的时候会执行两次 id 传值,是因为加载了两次 mui.js 这个问题我还没有解决,有解决办法的可以在下面留言给我,谢谢!

demo在下面,自己下载吧!

2 关注 分享
Trust lhyh

要回复文章请先登录注册

itxiaoxiao

itxiaoxiao

点击时候有点闪烁
2018-09-04 10:35