为现有代码添加延迟?

时间:2015-07-13 08:20:21

标签: javascript html

我正在尝试创建一个HTML文件,在运行时会在新标签页中打开一个URL(该URL指向本地服务器上的文件,因此当HTML运行时它实际上会提示用户打开或保存文件),然后在x秒后关闭自己,而不提示询问用户是否要关闭标签。

可以使用Internet Explorer,因为我的公司不允许使用其他浏览器。

我已经有一个打开和关闭标签的文件,但是,标签几乎立即关闭,这样就没有时间让屏幕上显示提示,并询问用户是否要打开或保存文件。到目前为止,这是我的代码:

<html>
<head>
<title>You are being redirected</title>
<meta HTTP-EQUIV="REFRESH" content ="0; url=X:\\Directory\Subdirectory\File.docx">
</head>
<body>
<center>
<script type="text/javascript">
    window.open('javascript:window.open("", "_self", "");window.close();', '_self');
</script>
</center>
</body>
</html>

我的问题的解决方案是在上面的代码中(实际上是5秒或5000毫秒)在标签打开和关闭之间添加延迟。如果有人能告诉我如何在关闭之前添加这个延迟,这将非常有帮助。

3 个答案:

答案 0 :(得分:3)

<script type="text/javascript">
setTimeout(function() {
    window.open('javascript:window.open("", "_self", "");window.close();', '_self');
}, 5000);
</script>

答案 1 :(得分:1)

您应该使用settimeout()

setTimeout(function,milliseconds,param1,param2,...)

在此处阅读:w3schools settimeout();

答案 2 :(得分:1)

这可以打开一个新标签并在5秒后关闭它

 var wnd = window.open("http://google.com", "_blank", "");
    window.setTimeout(closeWindow, 5000);

    function closeWindow() {
        wnd.close();
    }