1

我试图在一个窗口中打开一个 url,然后等待几秒钟,然后在同一个窗口中打开另一个 url。但是脚本不起作用。运行时它会给出一个空白窗口。我是 Javascript 新手。有人可以帮帮我吗?

我也想在 Google Chrome 中运行它。

脚本如下:

my_window=window.open("","mywindow");
my_window.location="http://www.yahoo.com";
sleep(10000);
my_window.location="http://www.youtube.com";
sleep(10000);
my_window.close();

function sleep(delay)
{
    var start = new Date().getTime();
    while (new Date().getTime() < start + delay);
}
4

4 回答 4

1

你可以试试这个:

<script type="text/javascript">
function def()
{
my_window.location="http://www.yahoo.com";
setTimeout("abc()", 3000);
}

function abc()
{
alert("Delayed 3 seconds");
my_window.location="http://www.youtube.com";
}
</script>
于 2012-10-30T05:28:55.170 回答
0

一般来说,不建议在 javascript 中使用阻塞循环。在您的情况下,您可能想要使用 setTimeout 或 setInterval 之类的东西。此代码应该可以工作:

var win = window.open("http://foo.com");
setTimeout(function(){
    win.location = "http://bar.com";
    setTimeout(function(){
        win.close();
    }, 10000);
}, 10000);
于 2012-10-30T06:04:07.867 回答
0

更新

我编写了以下 HTML,它可以很好地显示您帖子中的要求:

<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>
于 2012-10-30T05:32:28.197 回答
0

经过测试,这个可以工作,但出现弹出窗口阻止程序

<!DOCTYPE html>
<html>
    <head>
        <script>
        function open_win() 
        {
            setTimeout("go('http://www.yahoo.com')", 5000);

            setTimeout("go('http://www.youtube.com')", 10000);

        }

        function go(url){
            window.open(url);
        }
    </script>
</head>

<body>
<form>
    <input type="button" value="Open Win" onclick="open_win()">
</form>
</body>
</html>
于 2012-10-30T05:48:08.493 回答