0

私は現在、プレイリストの一番上にある曲を自動的に再生するphpファイルを持っています。$durationmysql データベースから取得した値があり、曲の再生が終了した後にページを自動的に更新する必要があります。

曲は現在 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 に答える