我需要从父窗口访问子窗口元素。我已经在下面写了示例片段。
<html>
<head>
<title>Parent</title>
<style>
div{
float:left;
cursor:pointer;
}
</style>
<script type="text/javascript">
var SubpopUpWin="";
function Opennew(passedURL){
SubpopUpWin = window.open("popups.html", '_blank','toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=yes'); SubpopUpWin.document.getElementById("ifrm").src=passedURL;
SubpopUpWin.document.getElementById("ifrm_title").innerHTML=passedURL;
}
</script>
</head>
<body>
<div onclick="Opennew('http://www.google.com')">Google</div>
<div onclick="Opennew('http://www.yahoo.com')">Yahoo</div>
<div onclick="Opennew('http://www.bing.com')">Bing</div>
</body>
</html>
<html>
<head>
<title>Child</title>
<style>
div{
float:left;
}
</style>
</head>
<body>
<div>
<div id="ifrm_title"></div>
<div style="margin-top:20px">
<iframe id="ifrm" src="" width="470" height="270" frameborder="0" style="margin-top: 34px" scrolling="no"></iframe>
</div>
</div>
</body>
</html>
在上面的代码不起作用。即使我也使用了以下脚本。
<script type="text/javascript">
var SubpopUpWin="";
function Opennew(passedURL){
SubpopUpWin = window.open("popups.html", '_blank','toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=yes');
SubpopUpWin.onload=function(){
SubpopUpWin.document.getElementById("ifrm").src=passedURL;
SubpopUpWin.document.getElementById("ifrm_title").innerHTML=passedURL;
}
}
</script>
以上代码也无效。 请分享您的sugestions / solutions ...
由于
答案 0 :(得分:7)
我觉得这是因为一些安全问题。您可以尝试这种方式:
<html>
<head>
<title>Parent</title>
<style>
div {
float: left;
cursor: pointer;
}
</style>
<script type="text/javascript">
var SubpopUpWin = "";
var testUrl = "";
function Opennew(passedURL){
testUrl = passedURL;
SubpopUpWin = window.open("popups.htm", '_blank', 'toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=yes');
}
</script>
</head>
<body>
<div onclick="Opennew('http://www.google.com')">
Google
</div>
<div onclick="Opennew('http://www.yahoo.com')">
Yahoo
</div>
<div onclick="Opennew('http://www.bing.com')">
Bing
</div>
</body>
<html>
<head>
<title>Child</title>
<style>
div {
float: left;
}
</style>
</head>
<body>
<div>
<div id="ifrm_title">
</div>
<div style="margin-top:20px">
<iframe id="ifrm" src="" width="470" height="270" frameborder="0" style="margin-top: 34px" scrolling="no">
</iframe>
<script type="text/javascript">
document.getElementById("ifrm").src = window.opener.testUrl;
</script>
</div>
</div>
</body>