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

更新しました

私は次の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 に答える
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 に答える