0

我目前有一个 php 文件,可以自动在播放列表顶部播放歌曲。我有一个$duration从 mysql 数据库中提取的值,我希望页面在歌曲播放完毕后自动刷新。

歌曲当前在 iframe 中播放,因此这是判断歌曲已大致完成的唯一方法。

我已经尝试在 javascript 中执行此操作,但在尝试将变量传递到超时期间时遇到问题。

<script type="text/JavaScript">
    function timedRefresh(timeoutPeriod{
        setTimeout("location.reload(true);",timeoutPeriod);
    }
</script>

<body onload="JavaScript:timedRefresh($x);">
    ...
</body>
4

2 回答 2

3

它只是一个简单的 PHP 变量输出到源代码中:

<script type="text/JavaScript">
<!--
function timedRefresh(timeoutPeriod){
    setTimeout("location.reload(true);",<?php echo $song_duration_in_milliseconds; ?>);
}
</script>

或者使用@Matt Clark 的回答中指出的元刷新。

于 2012-12-06T04:42:06.860 回答
2

您还可以使用 META 标签进行刷新。

在 PHP 中:

<?php
    $Refresh = 600;
?>

在您的 HTML 头中,您可以修改 META 标签:

<meta http-equiv="refresh" content="<?= $Refresh ?>">

或者如 Amadan 所述,您可以使用 PHP 在 PHP 中指定元标记:

header("Refresh: " . $Refresh);

或在 Javascript 中:

<script type="text/JavaScript">
    setTimeout("location.reload(true);",<?= $Refresh ?>);
</script>

旁注

短标签:

<?= $Variable, $Variable2 ?>

是否相当于使用:

<?php echo $Variable; echo $Variable2; ?>
于 2012-12-06T04:42:00.217 回答