открытие новых окон через заданный интервал времени с помощью window.open () - PullRequest
0 голосов
/ 14 февраля 2011

Я ищу код JavaScript, который автоматически открывает новые вкладки (окна) через определенный промежуток времени.

У меня есть несколько сайтов здесь, в этом коде, которые открываются автоматически, когда я нажимаю кнопку на HTML-странице.

Я хочу, чтобы эти сайты открывались через определенный промежуток времени. 1-й сайт откроется, когда пользователь нажмет кнопку «Открыть Windows», 2-й сайт через 1 минуту и ​​3-й сайт через 2 минуты.

например.

<html>
<head>
<script type="text/javascript">
function open_win() {
window.open("http://www.google.com")
window.open("http://www.yahoo.com")
window.open("http://www.bing.com")
}
</script>
</head>

<body>
<form>
<input type=button value="Open Windows" onclick="open_win()">
</form>
</body>

</html>

Спасибо,

Сангры

Ответы [ 2 ]

5 голосов
/ 14 февраля 2011

В большинстве современных браузеров вы не можете вызывать window.open программно, как через setTimeout.

Браузер просто игнорирует оператор window.open, если он не находится внутри стека вызовов, инициируемого прямым взаимодействием с пользователем, например, событием щелчка мыши.

Причина этого заключается в том, чточто это очень раздражающее поведение - вы, вероятно, не найдете ни одного человека, который бы пользовался сайтом, который сам открывает окна.

Итак: пересмотрите то, что вы пытаетесь сделать, обязательно найдется лучшееспособ - тот, где вы можете работать с браузером / пользователем, а не против него / него / нее:)

3 голосов
/ 14 февраля 2011
function open_win() {
    window.open("x.com");
    setTimeout("window.open('y.com')",60000);
    setTimeout("window.open('z.com')",120000);
}

Это откроет x.com, затем через минуту y.com и через две откроет z.com.

...