18

使用はお勧めできないようです

<meta http-equiv=REFRESH CONTENT=3;url=url>

リダイレクト用ですが、代わりに使用します

header('Location: url')

ただし、ユーザーにメッセージを表示し、リダイレクトする前にそれを読む時間を与えたいと思います。メタなしでそれを行う方法はありますか?

4

8 に答える 8

40

「リフレッシュ」ヘッダーを使用してみてください:

header('Refresh: 3;url=page.php');

また、この Question Refresh HTTP Headerを見ることもできます。

于 2012-06-22T10:36:09.407 に答える
6

metarefreshタグを使用しても問題はありません。

<meta http-equiv="refresh" content="5;URL='http://example.com/'" />

そのタグは、5秒待ってexample.comにリダイレクトすることを示しています。このタグは、ユーザーがIE6を使用していても問題なく機能し、履歴ボタンを壊すだけです。

JavaScriptを使用することもできますが、 「自動的にリダイレクトされない場合は、ここをクリックしてください」というリンクを必ず含めてください。実際には、どちらの方法でもそのリンクを含める必要があります。

于 2012-06-22T10:42:59.660 に答える
5

php でヘッダーを設定すると、5 秒で test.php にリダイレクトされます。

header( "refresh:5;url=test.php" );

実際の出力が送信される前に呼び出します。

そしてJavaScriptで:

setTimeout(function () {
   window.location.href= url; // the redirect goes here
},5000); // 5 seconds
于 2012-06-22T10:39:06.250 に答える
4

ヘッダー タグは、ページの読み込み時にブラウザーに送信されるため、レンダリングや履歴への読み込みを気にすることなく、ユーザーを目的のページにすばやくリダイレ​​クトできます。そのため、ヘッダーが既に処理されているため、ページが既に読み込まれている場合はリダイレクトを呼び出すことはできません。

代わりに、次の方法でこれを実行できます。

header( "refresh:5;url=wherever.php" );

基本的<meta>に、ページ自体のヘッダーにタグを設定します。つまり、タグを書き出す必要はありません。

于 2012-06-22T10:38:19.897 に答える
2

あなたが言っていることによって、理論的にはこれはうまくいくはずです:

URL: http://www.example.com/ticketgen/index.php?success=1&redir=1

    <?php
 $myredir = ($_GET['redir']);
    if ($myredir == 1)
    {
        header( "refresh:5;url=http://www.example.com/ticketgen/" );
    }
?>

しかし、それは何もしません。ヘッダーを送信できるように、ページの一番上にもあります。

Firefox では動作しないことがわかりました。

于 2013-06-23T05:40:13.117 に答える
1

小さなJavaScriptでそれを行うことができます:

<script type="text/javascript" language="JavaScript">location.href = 'otherpage.php';</script>

もちろん、これは JavaScript を有効にしているユーザーによって異なります。

明らかに、遅延を設定するには、setTimeout のようなものを使用できます。

<script type="text/javascript" language="JavaScript">
    setTimeout(function () {
                      location.href = 'stackoverflowhelp.php'; 
               }, 5000);
</script>
于 2012-06-22T10:34:50.557 に答える
1

私は本当に最善の方法はheader("Refresh: 10;url=../index.php"); 、私が自分の仕事でやったことのようなものだと思います.

于 2013-10-06T11:47:26.740 に答える