获得前一个窗口的引用window.opener

window.opener 的用法
window.opener 返回的是创建当前窗口的那个窗口的引用,比如点击了a.htm上的一个链接而打开了b.htm,然后我们打算在b.htm上输入一个值然后赋予a.htm上的一个id为“name”的textbox中,就可以写为:

window.opener.document.getElementById("name").value = "输入的数据";

对于javascript中的window.opener没有很好的理解。
为什么框架中不能使用,弹出窗口的父窗口不能在框架里面的某个页面呢?那怎样通过弹出窗口操作框架中的父窗口呢?

opener.parent.frames['frameName'].document.all.input1.value

即opener这个对象为前一个窗口,可以使用window.opener.document...来操作,见下例,为插入一些table到前一个窗口:

function taletoTb(itemStr) {
		newRow = opener.document.all.itemTb.insertRow(opener.document.all.itemTb.rows.length);
		rowCnt = opener.document.all.itemTb.rows.length;
		newCell = newRow.insertCell();
		newCell.insertAdjacentHTML('BeforeEnd','<div align="center">'+itemCode+'</div>');
		newCell = newRow.insertCell();
		newCell.insertAdjacentHTML('BeforeEnd','<div align="center">'+itemName+'</div>');
		newCell = newRow.insertCell();
		newCell.insertAdjacentHTML('BeforeEnd','<div align="center"><img src="../../../images/delete2.gif" width="12" height="12" onClick="userRightDel(this);"><input type="hidden" name="itembox" value='+itemCode+'></div>');
	 }


你可能感兴趣的:(JavaScript,框架)