错误:窗口打开器的属性未定义
Error: window.opener's property undefined
一个页面使用 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",它返回:
窗口.打开器
'窗口 {}',
这意味着打开器窗口不为 null,但其所有属性都丢失。但是,如果一个页面打开一个新页面,如下所示:
popWin = window.open('', 'popupPage', "width=480,height=272");
popWin.document.write("this is popupPage");
弹出窗口的 window.opener 是打开器窗口的引用,并且只能使用 'window.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中测试了此代码。
谁能告诉我如何在弹出页面中控制打开器窗口?
它可以正常工作,但您正在发出跨域请求。如果您打开的窗口和打开它的窗口位于同一域中,则不会有问题
注意:当您不使用 Web 服务器,而仅使用文件系统(file:///是您的协议)时,这可能被归类为跨域请求。我还没有测试过它 - 但是请放心,当您在网上获得它时,只要打开器和打开者都是来自同一域的服务器,一切都会好起来的。
编辑
我刚刚对我的本地文件系统进行了快速测试,确实如此 - 它被归类为跨域请求,出于安全目的被禁止 - 同样,当您将其放在 Web 服务器上并提供来自同一域的两个页面时,这不会有问题。
- 主干中的模型属性未定义
- JavaScript 2d 数组导致“无法读取未定义的属性'未定义'”
- JSON对象属性未定义
- Waypoint的循环,退出循环后属性未定义
- Javascript:错误“无法设置属性”..'未定义”
- 翡翠 - 显示对象属性 - 未定义
- 属性未定义,但控制台.log可以看到它
- JavaScript 对象的属性未定义
- Javascript 对象属性未定义(但属性已设置)
- DOM 元素属性未定义 - jquery / ruby on rails.
- Nodejs JSON 属性未定义
- 错误:窗口打开器的属性未定义
- angular Js:Array.lenght属性未定义
- 正在尝试访问JavaScript对象的属性=未定义
- Marionette属性未定义,请从API获取
- AngularJS作用域属性未定义
- 对象的属性未定义,尽管已指定值
- 为什么我一直收到一个错误,说对象属性未定义
- 对象属性未定义,但我看到它不是
- .map()img src属性未定义