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‘ } }]
时间: 2024-11-05 20:40:58