我对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
}
}
?>
答案 0 :(得分:0)
如果您仔细阅读window.open
,例如here,您会看到它的第三个参数与setTimeout
无关。
通过settimeout
打开窗口的正确代码是:
window.setTimeout(
// what to do:
function() { window.open('https://mywebsite/url', 'WINDOW_NAME') },
// in what amount of time:
1000
);
答案 1 :(得分:0)
您无法真正使用setTimeout()
功能,因为您建议......
我想这大致是你在寻找的东西:
echo <<< EOT
<script type="text/javascript">
setTimeout(function() {
window.open('https://mywebsite/$link', '_blank');
}, 1000);
</script>
EOT;
注意:我只使用nowdoc
表示法,因为它更容易阅读。当然也可以为echo命令使用普通的文字字符串。