无名2015
无名2015
  • 发布:2015-04-27 09:45
  • 更新:2015-04-27 12:15
  • 阅读:7622

预加载页面preload方法经常返回undefined

分类:MUI
    var productView = mui.preload({  
		    url: '/pages/weimall/productview.html',  
		    id: '/pages/weimall/productview.html',  
		});  
		console.log(productView);

productView经常是undefined,返回undefined的几率非常高,几乎90%都是返回undefined,问答上搜索了,竟然没有人遇到过返回undefined的问题,肯定是我哪里配置有问题,求指教

2015-04-27 09:45 负责人:无 分享
已邀请:
无名2015

无名2015 (作者)

求人不如求已
问题解决:preload方法调用了createWindow方法,createWindow方法里判断了window.plus准备好没,没有准备好直接返回空了,所以造成了undefined

无名2015

无名2015 (作者)

引用mui.js做测试,里面使用console看代码执行情况
结果发现
var productView = mui.preload({
url: '/pages/weimall/productview.html',
id: '/pages/weimall/productview.html',
});
html页面里这段代码没有运行,造成productView为undefined,

DCloud_UNI_CHB

DCloud_UNI_CHB

所有涉及5+的代码,都要等待plusReady事件发生后才能使用,因此建议使用如下方式:

mui.plusReady(function(){  
    var productView = mui.preload({  
        url: '/pages/weimall/productview.html',  
        id: '/pages/weimall/productview.html',  
    });  
});
  • 无名2015 (作者)

    主要刚开始不知道preload有涉及5+,后面看到源码里才知道有用到5+的


    2015-04-27 12:18

该问题目前已经被锁定, 无法添加新回复