0

www.website.com/redirect.php?link=http://example.com にアクセスすると、数秒後にブラウザーが example.com にリダイレクトされるリダイレクト ページを作成しようとしています。リダイレクトの免責事項。あなたの助けは大歓迎です!

4

5 に答える 5

5

Javascript は機能しますが、必要ありません。メタ リフレッシュを使用してください。

<?php 

$url=$_GET['link'];

?>
<html>
    <head>
        <title>Rediercting</title>
        <meta http-equiv="refresh" content="10;URL='<?php echo $url; ?>'" />
    </head>
    <body>
        <p><a href="<?php echo $url; ?>">Redirecting to <?php echo $url; ?></a></p>
        <p>Some disclaimer</p>
    </body>
</html>
于 2012-11-24T22:42:49.063 に答える
3
<?php
    echo "disclaimer here";
?>
    <script type="text/javascript">
        setTimeout(function() { location.href = '<?php echo $_GET["link"]; ?>'; }, 3000);
    </script>';
于 2012-11-24T22:34:53.713 に答える
1

PHP はサーバー側のスクリプトであるため、遅延後にリダイレクトすることはできません (これはページが読み込まれた後に発生するため、その時点でリダイレクトを処理するのはクライアントの手に委ねられています)。

次のようなページを使用してみてください。

<html>
    <head>
        <script type="text/javascript">
            function delayer(){
                window.location = "<?php echo $_GET['link']; ?>"
            }
        </script>
    </head>
    <body onLoad="setTimeout('delayer()', 5000)">
        Some info about the redirect!
    </body>
</html>

ここには 3 つの主要なコンポーネントがあります。

1) JavaScript: 関数delayer()は 5 秒後に呼び出されます。

2) PHP: これにより、GETパラメーターlinkが JavaScript 関数に挿入されます。

3) HTML: ここに免責事項を挿入できます。このコードには、「リダイレクトに関する情報があります!」というコードが標準の HTML で記述されています。

于 2012-11-24T22:30:50.000 に答える
0

最初に免責事項のメッセージを取得するには、JavaScript を介してこれを行う必要があります。

<html>
 <head>
  <title>Redirect</title>
 <script type="text/javascript">
    function redirect(){
        window.location = "<?php echo $link; ?>";
    }
 </script>
 </head>
 <body onload="setTimeout(redirect(), 5000);">
  <B>DISCLAIMER HERE</B>
 </body>
</html>
于 2012-11-24T22:31:44.997 に答える
0

ユーザー名 tbd で既に述べたように、サーバー側でリダイレクトを遅らせることはできません。

JavaScript ソリューションに代わるものは、ネイティブ HTML です。

<!doctype html>
<html>
    <head>
        <meta http-equiv="refresh" content="15; url=<?php echo $redirectTarget; ?>">
    </head>
    <body>
         Your disclaimer
    </body>
<html>

15 は、リダイレクトが完了するまでの待機時間を秒単位で示します。

于 2012-11-24T22:52:18.963 に答える