这是我的文件
index.php
pwd.php
common.js
在index.php
我打开文件pwd.php
作为mywindow,我想通过按“我的窗口”中的按钮关闭它。我怎么能这样做?
index.php
<!DOCTYPE html>
<html>
<body>
<button onclick="openWin()">Open w3schools.com in a new window</button>
<?php
include ('common.js');
?>
</body>
</html>
&#39; pwd.php&#39;
<button onclick="closeWin()">Close the new window (w3schools.com)</button>
<?php
include ('common.js');
?>
common.js
<script>
var myWindow;
function openWin() {
myWindow = window.open("pwd.php", "_blank", "width=500, height=500");
}
function closeWin() {
myWindow.close();
}
</script>
当我尝试关闭时,我在Uncaught TypeError: Cannot read property 'close' of undefined
的控制台中收到错误pwd.php
。
我在做什么是一个错误我怎样才能实现它?
注意:
我不想在“父级”窗口中调用closeWin()
。
我想在所创建的myWindow中调用closeWin()
。
答案 0 :(得分:0)
使用window.parent.closeWin();在关闭按钮,因为它在iframe内,你的功能在你的父窗口。
修改强>
似乎你误解了我的答案
首先将代码放在链接中,如下所示:
&#39; pwd.php&#39;
<button onclick="window.parent.closeWin()">Close the new window (w3schools.com)</button>
第二,不要在你的pwd.php中包含common.js,因为我们将使用父窗口函数。
第二次编辑
您可以在函数中添加它,但您应该创建不同的函数,例如
<button onclick="child_closeWin()">Close the new window (w3schools.com)</button>
,功能应该是:
function child_closeWin() {
window.parent.closeWin();
}
请注意,此功能应仅在pwd.php中专门添加,而不是在index.php中添加,只需在&#39; pwd.php&#39;内添加脚本标记即可。并添加功能。