为什么 set.timeout 在这个 php while 循环中不起作用?
Why is set.timeout not working in this php while loop?
我对javascript不是很熟悉。我想在这个 while 循环中用超时打开每个 link。没有超时它正在工作。
<?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
}
}
?>
如果你仔细阅读window.open
,例如here,你会发现它的第三个参数与setTimeout
无关。
通过 settimeout
打开 window 的正确代码是:
window.setTimeout(
// what to do:
function() { window.open('https://mywebsite/url', 'WINDOW_NAME') },
// in what amount of time:
1000
);
您不能真正按照您的建议使用setTimeout()
功能...
我想这大概就是您要查找的内容:
echo <<< EOT
<script type="text/javascript">
setTimeout(function() {
window.open('https://mywebsite/$link', '_blank');
}, 1000);
</script>
EOT;
注意:我只使用 nowdoc
符号,因为它更容易阅读。当然,也可以为 echo 命令使用普通的文字字符串。
我对javascript不是很熟悉。我想在这个 while 循环中用超时打开每个 link。没有超时它正在工作。
<?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
}
}
?>
如果你仔细阅读window.open
,例如here,你会发现它的第三个参数与setTimeout
无关。
通过 settimeout
打开 window 的正确代码是:
window.setTimeout(
// what to do:
function() { window.open('https://mywebsite/url', 'WINDOW_NAME') },
// in what amount of time:
1000
);
您不能真正按照您的建议使用setTimeout()
功能...
我想这大概就是您要查找的内容:
echo <<< EOT
<script type="text/javascript">
setTimeout(function() {
window.open('https://mywebsite/$link', '_blank');
}, 1000);
</script>
EOT;
注意:我只使用 nowdoc
符号,因为它更容易阅读。当然,也可以为 echo 命令使用普通的文字字符串。