1、window.parent 是iframe页面调用父页面对象
举例: a.html 如果我们需要在b.html中要对a.html中的username文本框赋值(就如很多上传功能,上传功能页在ifrmae中,上传成功后把上传后的路径放入父页面的文本框中),我们应该在b.html中写:
var _parentWin = window.parent;
_parentWin.form1.username.value = "xxxx";
Z-Blog的文章编辑页面上传功能就是这么实现的。
2、window.opener 是 window.open 打开的子页面调用父页面对象
opener:对打开当前窗口的window对象的引用,如果当前窗口被用户打开,则它的值为null。
self代表自身窗口,opener代表打开自身的那个窗口,比如窗口a.html打开窗口b.html。如果靠window.open方法,则对于窗口b.html,self代表b.html自己,而opener代表窗口a.html。
举例:a.html b.html
1)在b.html页面
<input type="button" value="关闭" class="big-btn btn-gray" id="closeWin">
// 关闭弹出窗口
$("#closeWin").click(function() {
if(window.opener){
//window.opener为window.open打开的窗体的父窗体,父窗口执行submit操作。
window.opener.document.listForm.submit(); //a.html为父窗口 采用form提交,尤其是分页使用 listForm为查询页面的form表单name
window.opener = null; //b.html为打开子窗口
window.close();
}
if(art.dialog){
art.dialog.close();
}
});
2)在a.html页面 (即在 a页面 打开 b页面的 ,当 b页面 点击关闭按钮后,关闭b页面同时 按照查询条件刷新a页面_按照之前的查询条件的)
<a href="$!{SERVER_CONTEXT}/orderGoodsRecord/findOrderGoodsRecordById.do?id=$!{obj.id}" target="_blank" >查看</a>