我正在尝试从子窗口调用在父窗口中定义的JavaScript函数。我有两个文件:
父窗口:
<html>
<head>
<title>Test</title>
<script type="text/javascript">
function foo () {
alert ("Hello from parent!");
}
function doStuff () {
var w = window.open("testa.html");
}
</script>
</head>
<body>
<input type="button" value="open" onClick="doStuff();" />
</body>
</html>
还有子元素:
<html>
<head>
<title>Test A</title>
<script type="text/javascript">
function get() {
window.opener.foo();
}
</script>
</head>
<body>
<input type="button" value="Call Parent" onClick="get();" />
</body>
</html>
我无论如何都无法从子进程调用函数foo。我认为使用window.opener对象应该是可能的,但我似乎不能让它起作用。有什么建议吗?
http://
还是file:///
访问这些页面的?file
协议没有来源,因此你将始终无法通过 同源策略 ,导致无法访问opener
。 - Jonathan Lonowski