7

JQuery スライド ショーを作成しますが、コンテンツを変更するために 5 分ごとにページを更新する必要があります。

Javascriptを介してこれを行うことができることは知っていますが、これはクライアント側で変更して、ページの更新を回避できます。サーバーがページをタイムアウトして強制的に更新する方法はありますか?

4

7 に答える 7

24

JavaScript のリロードに加えて、リフレッシュ ヘッダーを送信できます。

header("Refresh: 300;url='http://thepage.com/example'");

JavaScript に関係なく、ブラウザは 300 秒後にリダイレクトします。ただし、ブラウザの構成で無効にすることはできますが、一般的に無効にすることはありません。

于 2012-07-22T21:55:08.303 に答える
17

メタリフレッシュは非常に簡単に機能します。

<meta http-equiv="refresh" content="300">

300は、300秒または5分ごとに更新されることを意味します。この方法ではJavaScriptを使用しないため、ユーザーがJavaScriptをオフにすることはできません。

于 2012-07-22T22:00:10.830 に答える
5

サーバーからページを強制的にリロードする方法はありません。

JavaScript でそれを行う方法は簡単です。

setTimeout(function() {
    window.location.reload();
}, 5000);

これはクライアント側でオーバーライドできますが、通常のユーザーがスクリプトをいじることはありません。


余談ですが、ページのリロードに固執している理由はありますか?

于 2012-07-22T21:54:44.297 に答える
1

JavaScript メソッド

var timer = null;

function auto_reload()
{
  window.location = 'http://domain.com/page.php';
}

<body onload="timer = setTimeout('auto_reload()',10000);">
于 2012-07-24T12:20:32.867 に答える
1

META タグ方式

The following refreshes the page every 30 seconds.

<head>
<meta http-equiv="refresh" content="30" />
</head>
于 2012-07-24T12:24:42.883 に答える
1

PHP の使用

URLを設定せずに任意のページで呼び出すことができるphp関数を使用します

    // write the function
    function refresh( $time ){
        $current_url = $_SERVER[ 'REQUEST_URI' ];
        return header( "Refresh: " . $time . "; URL=$current_url" );
    }

    // call the function in the appropriate place
    refresh( 4 );   
    // this refreshes page after 4 seconds
于 2016-12-30T08:04:48.113 に答える
-1

そのリロードを行う別の方法は、次を使用することですwindow.location

    setTimeout(function(){
        window.location.href = "YOUR_PAGE_URL";
    }, 5000);
于 2012-07-22T22:01:21.083 に答える