从另一个传递函数 Window 纯 JavaScript
Pass Function from Another Window Pure JavaScript
我需要将一些 JavaScript 函数发送回父级 window,但遇到了困难。我创建了一个示例来迭代我正在尝试做的事情。但基本上我需要通过从单独的 window 执行函数来显示和隐藏父 window 上的 DIV。
第一个代码段是 Page1.html、
function newWin() {
window.open("page2.html", "New_Win");
}
function toggle_vis(id) {
var e = document.getElementById(id);
if (e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
#container {
background-color: red;
margin: auto;
display: block;
position: absolute;
width: 800px;
height: 600px;
padding: 10px;
z-index: 1;
}
#frame {
background-color: black;
display: block;
position: absolute;
width: 400px;
height: 300px;
padding: 0px;
z-index: 2;
}
#inner {
background-color: green;
display: none;
position: absolute;
width: 200px;
height: 150px;
z-index: 3;
}
<div id="container">
<div id="frame"><button onclick="newWin()">Open New Window</button>
<div id="inner"></div>
</div>
</div>
这是来自 Page2.html 的代码。
function test(){
parent.document.innerHTML.toggle_vis('inner');
}
#container {
background-color: blue;
margin: auto;
display: block;
position: absolute;
width: 400px;
height: 200px;
padding: 10px;
z-index: 1;
}
<div id="container">
<button onclick="test()">Show/Hide Parent Div</button>
</div>
您可以使用 window.opener
对象引用开启器 window,因此:
function test(){
window.opener.toggle_vis('inner');
}
我需要将一些 JavaScript 函数发送回父级 window,但遇到了困难。我创建了一个示例来迭代我正在尝试做的事情。但基本上我需要通过从单独的 window 执行函数来显示和隐藏父 window 上的 DIV。
第一个代码段是 Page1.html、
function newWin() {
window.open("page2.html", "New_Win");
}
function toggle_vis(id) {
var e = document.getElementById(id);
if (e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
#container {
background-color: red;
margin: auto;
display: block;
position: absolute;
width: 800px;
height: 600px;
padding: 10px;
z-index: 1;
}
#frame {
background-color: black;
display: block;
position: absolute;
width: 400px;
height: 300px;
padding: 0px;
z-index: 2;
}
#inner {
background-color: green;
display: none;
position: absolute;
width: 200px;
height: 150px;
z-index: 3;
}
<div id="container">
<div id="frame"><button onclick="newWin()">Open New Window</button>
<div id="inner"></div>
</div>
</div>
这是来自 Page2.html 的代码。
function test(){
parent.document.innerHTML.toggle_vis('inner');
}
#container {
background-color: blue;
margin: auto;
display: block;
position: absolute;
width: 400px;
height: 200px;
padding: 10px;
z-index: 1;
}
<div id="container">
<button onclick="test()">Show/Hide Parent Div</button>
</div>
您可以使用 window.opener
对象引用开启器 window,因此:
function test(){
window.opener.toggle_vis('inner');
}