一个页面使用 window.open() 方法打开另一个页面(例如 openerdemo.html),但弹出页面无法访问打开页面的任何属性。
开瓶器页面代码:
<head>
<meta http-equiv="content-type" content="html/text"; charset="utf-8" >
<title>windowdemo</title>
<script language="JavaScript">
function openWin(thisurl) {
popWin = window.open(thisurl, 'popupPage', "width=480,height=272");
}
</script>
</head>
<body>
<input type="button" value="open" onClick="openWin('openerdemo.htm')"/>
</body>
弹出页面(openerdemo.htm)代码:
<html>
<head>
<meta http-equiv="content-type" content="html/text"; charset="utf-8" >
<title>windowdemo</title>
<script language="JavaScript">
function closeWin() {
window.opener.close();
window.close();
}
</script>
</head>
<body>
<h1><a href="#" onClick="closeWin()">close all</a></h1>
</body>
我在 Chrome 中使用 javascript 控制台,在弹出窗口的 cmd 行中输入“window.opener”,它返回:
window.opener
'窗口 {}',
这意味着打开窗口不为空,但它的所有属性都丢失了。但是,如果一个页面像这样打开一个新页面:
popWin = window.open('', 'popupPage', "width=480,height=272");
popWin.document.write("这是弹出页面");
弹出页面的window.opener 是opener 窗口的引用,只是可以通过'window.opener' 对象来控制opener 窗口。前任:
<body>
<script type="text/javascript">
myWindow=window.open('','','width=200,height=100')
myWindow.document.write("This is 'myWindow'")
myWindow.focus()
myWindow.opener.document.write("This is the parent window")
</script>
</body>
我在 FF、IE 和 chrome 中测试了这段代码。
谁能告诉我如何控制弹出页面中的开启窗口?