<html>
<head>
<script type="text/javascript">
function openWin()
{
myWindow=window.open('child.html','','width=200,height=100');
}
function callback(){
alert("test");
}
</script>
</head>
<body>
<input type="button" value="Open 'myWindow'" onclick="openWin()" />
</body>
</html>
<html>
<head>
<script type="text/javascript">
window.opener.callback();
</script>
</head>
<body>
</body>
</html>
问题是子页面在FF,IE中调用了父页面的回调函数,但在Chrome中却没有。
有什么想法吗?
答案 0 :(得分:0)
由于Chrome安全性错误而导致问题发生。域,协议和端口必须匹配。但是当从本地文件系统打开页面时也会发生这种情况。
从服务器打开你的页面,应该没有任何问题。
答案 1 :(得分:0)
问题可能是chrome运行javascript的方式。 Chrome有时会如此快速地运行js,甚至DOM还没有准备好进行操作。在您的child.html中试试这个
<script type="text/javascript">
setTimeout(function(){window.opener.callback();}, 100);
</script>
我不确定这是否是您的确切问题,我在chrome上遇到了jQuery.ready()的问题。