比如有list.html 通过openwindow跳到detail.html页面
这时候detail.html通过mui.bak()返回要刷新list.html页面,这个可以通过webview.reload()这个我知道的,
但是有时候这时候list.html其实是分页的通过加载更多页面显示有别的很多数据,当然有可能还有别的操作,这样用webview.reload()会刷新整个list.html这样不能完成需求。。
不知道是不是可以用过webview获取到list.html页的js的windows对象,,
比如可以detail.html页mui.back()前这样写
var list = plus.webview.getWebviewById('list.html');
var listwindow=list.getwindow();
listwindow.document.getElementById("list页的dom id")
//还可以调用list.html页的js方法...........
或者调用这个页的方法和iframe子父页一样
不知道是否能完成这样的功能。。但然要是不行,当我瞎扯淡。。。。
5 个回复
赵梦欢 - 专注前端,乐于分享!
你想获取list某个对象干嘛,直接返回的时候给list发个消息,所有的dom操作在自定义事件里面不就可以实现你说的这个。
Trust - 少说废话
关于返回上一级页面,并刷新上一级页面,通常使用自定义事件来完成。
以重写mui.back()方法为例
当前页面
上一级页面(目标窗口)
4***@qq.com
这个简单啊,用fire也可以啊,不用获取dom对象
1***@qq.com - 程序员
编辑资料之后,点击保存,然后关闭当前页面,返回上一页,并且刷新上一页,这个怎么解决?
w***@163.com
你的这个问题解决了吗?我现在也有这个需求,但是不知道怎么解决?
2017-10-20 00:19
海带
mui.init({
beforeback: function() {
//获得父页面的webview
var list = plus.webview.currentWebview().opener();
//触发父页面的自定义事件(refresh),从而进行刷新
mui.fire(list, 'refresh');
//返回true,继续页面关闭逻辑
return true;
}
});
2.在父页面中添加事件监听:
window.addEventListener('refresh', function(e){//执行刷新
location.reload();
});