0

javascriptで複数のURLを特定の秒だけ開いて、それらを自動的に閉じようとしています。私はプログラミングの背景知識がなく、ほんの少しのphpです。私はプロジェクトをデモンストレーションするためにそれをやっています。

いくつかのURLを持つ配列があります。

var allURL = ["http://google.com", "http://yahoo.com", "http://msn.com"];

ここで、すべてのURLを新しいウィンドウ/タブで1つずつ10秒間開き、自動的に閉じます。つまり、 http: //google.comが10秒間開いて自動的に閉じてから、 http: //yahoo.comが開きます。配列内のすべてのURLと同様です。

setIntervalまたはその他の方法を使用してこれを実現する方法を教えてください。

4

1 に答える 1

3
var allURL = ["http://google.com","http://yahoo.com","http://msn.com"];

function showUrl(index) {
    index = index || 0;

    // are there any urls to show?
    // is the given index valid?
    if (allURL.length === 0 || index < 0 || index >= allURL.length) {
        return;
    }

    // open the url
    var popup = window.open(allURL[index]);

    // set a timer which closes the popup after 10 seconds and opens the next url by calling 'showUrl' with the next index
    setTimeout(function() {
        popup.close();
        showUrl(index + 1);
    }, 10000);
}

// To start the "diashow" call 'showUrl' without an index or if you want to start at a pre-defined url with the corresponding index
showUrl();    // starts with the first url
于 2012-05-25T09:08:45.753 に答える