我对javascript不是很熟悉。我想打开这个while循环中的每个链接并超时。没有超时,它正在工作。
<?php
$zaehler = 23423423; // id aus dem forular
$anzahl = 5; // popups aus dem forumlar
$max = $zaehler + $anzahl; // = maximale anzahl
$increment = 1; // zählt die tradeid um 1 hoch
$i = 0;
while($zaehler < $max) {
$i++;
echo $i . " | ";
$link = $zaehler += $increment;
echo "https://mywebsite/" . $link;
echo"<form action='https://mywebsite/$link' method='post' target='_blank'> <input type='submit'> </form>"; //irrelevant, da popups schon geöffnet werden
echo "<script type="text/javascript">
window.open('https://mywebsite/$link', '_blank', setTimeout(1000), )
</script>";
echo "<hr>";
if($link == $max) {
echo "<hr><br>Stop";
break; //bricht die schleife ab, wenn maximale vorgegebene anzahl an popups erreicht ist
}
}
?>
您不能真正按照建议使用setTimeout()
函数。。。
我想这大概就是你想要的:
echo <<< EOT
<script type="text/javascript">
setTimeout(function() {
window.open('https://mywebsite/$link', '_blank');
}, 1000);
</script>
EOT;
注意:我只是使用nowdoc
表示法,因为它更容易阅读。当然,对于echo命令也可以使用普通的文字字符串。
如果你仔细阅读window.open
,例如这里,你会发现它的第三个自变量与setTimeout
无关。
通过settimeout
打开窗口的正确代码是:
window.setTimeout(
// what to do:
function() { window.open('https://mywebsite/url', 'WINDOW_NAME') },
// in what amount of time:
1000
);