1. 程式人生 > >MUI框架預加載

MUI框架預加載

pan view webview 開始 創建 打開 url content arr

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‘  
    }  
}]

MUI框架預加載