官方文档链接:http://dev.dcloud.net.cn/mui/window/#closewindow
http://www.dcloud.io/docs/api/zh_cn/webview.html----->HTML5+API Reference
学习链接:http://ask.dcloud.net.cn/docs/
使用场景:操作某个步骤需要获取用户信息,如果用户未登陆,则跳转登录页面,登陆成功之后使用mui.back()返回父页面,父页面必须刷新。
子页面:登陆页
父页面:跳转登录页的页面
1. 在子页面初始化时,注册beforeback方法;
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(); });
这样,在子页面执行返回操作mui.back()时,会执行父页面的refresh事件。
转自:http://www.cnblogs.com/007sx/p/6580135.html
总结-->下面是自己在做东西时,遇到的问题:
1、plus.webview.currentWebview().opener();换成plus.webview.getElementById("父页面的id"),就不行,目前布吉岛为啥
//获得父页面的webview
var list = plus.webview.currentWebview().opener(); // 获取当前Webview窗口的创建者
与
var list=plus.webview.getElementById("父页面的id");的区别
解析:
WebviewObject plus.webview.currentWebview();获取当前窗口的WebviewObject对象
var list = plus.webview.currentWebview().opener(); // 获取当前Webview窗口的创建者,创建者为调用plus.webview.open或plus.webview.create方
法创建当前窗口的Webview窗口。
plus.webview.getElementById("父页面的id"),查找指定标识的WebviewObject窗口.