我正在尝试使用window.close
以下链接
myWin.document.write("<a href='#' onclick=\"newMovie.window.close('http://www.imdb.com/title/tt2015381/','newMovie','height=600,width=600,left=400,top=100,scrollbars,status,resizable,dependent;')\"><b>Click Here to Close the Movie Window</b></a> <br><br>");
它不起作用。我们的想法是能够点击并打开一个有效的链接,然后点击第二个链接关闭同一个不起作用的窗口。
以下是两个链接:
myWin.document.write("<div Id='box' style='text-align:center;");
myWin.document.write("<a href='#' onclick=\"window.open('http://www.imdb.com/title/tt2015381/','newMovie','height=600,width=600,left=400,top=100,scrollbars,status,resizable,dependent;')\"><b>Click Here to Access the Movie Window</b></a> <br><br>");
myWin.document.write("<a href='#' onclick=\"newMovie.window.close('http://www.imdb.com/title/tt2015381/','newMovie','height=600,width=600,left=400,top=100,scrollbars,status,resizable,dependent;')\"><b>Click Here to Close the Movie Window</b></a> <br><br>");
我在这里遗漏了什么?或者更容易创建一个函数()来关闭链接?
答案 0 :(得分:0)
你错过了几点:
作为评论中提到的bergi,命名窗口不会创建变量。请改用var newMovie = window.open(…)
和newMovie.close()
。变量newMovie
是对您创建的窗口的引用。还要注意,newMovie
应该是一个全局变量。参考:window.open - MDN
使用document.write时要小心。您编写的文本将解析为文档的结构模型。在这种情况下,您错过了代码中的密切语法:
你的:myWin.document.write("<div Id='box' style='text-align:center;");
正确:myWin.document.write("<div Id='box' style='text-align:center;'>");
您可能无法直接运行代码,而是复制所有代码并在您的本地.html
文件中运行。
<!DOCTYPE html>
<html>
<head>
<title>Test Page</title>
</head>
<body>
<script type="text/javascript">
var newMovie = null;
document.write("<div id='box' style='text-align:center;'>");
document.write("<a href='#' onclick='openNewWindow()'><b>Click Here to Access the Movie Window</b></a>");
document.write("<a href='#' onclick='closeWindow()'><b>Click Here to Close the Movie Window</b></a>");
function openNewWindow() {
newMovie = window.open('http://www.imdb.com/title/tt2015381/','newMovie','height=600,width=600,left=400,top=100,scrollbars,status,resizable,dependent;');
}
function closeWindow() {
newMovie.close();
}
</script>
</body>
</html>