好的,所以我想要一个带有一个按钮的html页面。当我按下按钮时,我想要关闭我的按钮的页面,并运行我的javascript序列。当我到达youtube.com(10秒后)我想要关闭窗口。
有人知道这是否有效?
<html>
<head>
<script language="JavaScript" type="text/javascript">
var my_window;
function OpenWin()
{
my_window=window.open("http://www.yahoo.com", "_blank", "resizable=yes, scrollbars=yes, titlebar=yes, width=1000, height=800, top=10, left=10");
setTimeout("GoUrl('http://www.youtube.com')", 10000);
}
function GoUrl(Url)
{
my_window.location=Url;
}
</script>
</head>
<body>
<button onclick="OpenWin()">Open Window</button>
</body>
</html>
答案 0 :(得分:0)
除非使用脚本打开该窗口本身,否则无法关闭包含该按钮的窗口。请参阅window.close()上的文档:
https://developer.mozilla.org/en-US/docs/Web/API/Window.close
然而,可以关闭my_window,因为它是使用window.open()创建的。如果您希望my_window在一段时间后关闭,请尝试以下操作:
var my_window;
function OpenWin()
{
my_window=window.open("http://www.yahoo.com", "_blank", "resizable=yes, scrollbars=yes, titlebar=yes, width=1000, height=800, top=10, left=10");
setTimeout("GoUrl('http://www.youtube.com')", 10000);
}
function GoUrl(Url)
{
my_window.location=Url;
setTimeout(function () { my_window.close(); }, 10000);
}
值得指出的是,将代码字符串传递给setTimeout被认为是不好的做法,因为它就像eval()一样。不要传入“GoURL('...')”,而是尝试使用回调函数,就像上面显示的setTimeout的其他用法一样。
的setTimeout:
https://developer.mozilla.org/en-US/docs/Web/API/Window.setTimeout