我的这个页面是一个数据列表 ,分为上部导航main.htm,和下面业务数据(list.html).有一个新增页面,在操作新增页面后,返回主模块,并刷新数据。在使用过程中,经常出现刚进模块时,下拉刷新可以。新增页面返回后,下拉刷新失效了。现象就是下拉没有反应。
研究了差不多一个下午,发现原来是被webview挡住了。
在主模块新增页面使用的代码是
document.getElementById("add").addEventListener('tap',function(){
var nwaiting = plus.nativeUI.showWaiting();
var qdadd = plus.webview.create("add.html");
qdadd.addEventListener("loaded", function() {
nwaiting.close();
add.show();
}, false);
});
新增页面保存后,跳转主模块,原先的代码是
mui.openWindow({
url: 'main.html',
id:'main'
});
但是这样的结果就是返回后,下拉不能滚动。经过我的多次测试,发现这个是webview的使用不当造成的。
新增页面现在的代码是
var parentview = plus.webview.currentWebview().opener();
parentview.reload(true);
plus.webview.currentWebview().close();
即关闭当前新增页在,刷新父页面。
如果plus.webview.currentWebview().close();这句话不写,我发现返回页面后,list.html距离导航会增加一定的距离,新增次数越多,距离越远,估记就是webview不断的重叠造成的。
具体原理不太清楚,起码问题解决了,供大家参考 。
9 个评论
要回复文章请先登录或注册
dd多了个多
亦寒
ccfto
DCloud_UNI_CHB
gaus
如啼眼
dcl
悠闲的蜗牛
DCloud_UNI_CHB