MUI框架预加载

MUI - 预加载

 

预加载都是在mui.init({)}中执行的  

 

方式一:preload一次仅能预加载一个页面(除非循环)

 
var subWebview = mui.preload({
    url: 'examples/accordion.html',
    id: 'template_sub',
    top: '  
    styles: {
        48 px ',  
        bottom: '0px'
    }
});
 
不设置循环,第一遍可以,第二遍开始就还是卡顿,效果很不好,特别是添加了图片,或者图片滚动

方式二:create一次仅能预加载一个页面  (除非循环)  

 
function clicklist (id) { //list点击item后的事件
    var nwaiting = plus.nativeUI.showWaiting();//显示原生等待框
    webviewShow = plus.webview.create("show.html");//后台创建webview并打开show.html
    webviewShow.addEventListener("loaded", function() { //注册新webview的载入完成事件
        nwaiting.close(); //新webview的载入完毕后关闭等待框
        webviewShow.show("slide-in-right",150); //把新webview窗体显示出来,显示动画效果为速度150毫秒的右侧移入动画
    }, false);
}
 

方式三:通过mui.init方法中的preloadPages参数进行配置.可预加载多个页面,但不会返回预加载每个页面的引用(异步执行)

 
mui.init({
    preloadPages: [{
        url: prelaod - page - url,
        id: preload - page - id,
        extras: {
            valueArray: styles: {}, //窗口参数  
            valueArray,
            productArray: productArray
        }, //自定义扩展参数,在该页面获取方式:varweb=plus.webview.currentWebview;web.valueArray  
        subpages: [{}, {}] //预加载页面的子页面  
    }]
});
 

方式四:加载子页面,通常是在原来具备【header】或者【footer】的前提下,再加载进来一个【list列表】或者【mui-content】与原页面进行合并

 

注:用此方法设计一次页首和页尾就行,如果在子页在设置页首和页尾的高度,则就会相比首页再次加载高度,就不好看了

 
subpages:
[{
    id:'list',  
    url:'list.html',  
    styles:{  
        top:'45px',  
        bottom:0,  
        bounce:'vertical'  
    }  
}]
posted on 2017-05-14 16:51  张晋铭  阅读(401)  评论(0编辑  收藏  举报