web-dev-qa-db-ja.com

時間遅延リダイレクト?

HTML内のブログと呼ばれる「セクション」にスライドするWebサイトがあります。ユーザーに簡単に1、2秒だけページを表示してから、ブログエンジンにリダイレクトしてほしい。

時間遅延リダイレクトを提案してください?

ブログliのクリックに基づいて遅延した時間でリダイレクトできる場合:

<li data-target="blog" data-target-activation="click" class="tile icon_add_favourite">
          <div>
            <h2>Blog</h2><h3>13</h3>
                <script type="text/JavaScript">
                &lt;!--
                    setTimeout("location.href = 'http://www.mysite.co.uk/blog';", 1500);
                --&gt;
                </script>
          </div>
        </li>

PDATE:これは、HTML5がセクションブロックにスライドすると、ページがすべてのコードでまだレンダリングされているため、JSがclickイベントによって起動され、タイマーに基づいてリダイレクトが実行されるはずです。

ソリューションは、アラートボックスがポップアップするときにJSで機能します。なぜ私のページで機能しないのでしょうか?

35

編集:

私が直面する問題は、HTML5がすべて1つのインデックスページにあることです。だから私はブログのリンクをクリックして開始するタイマーが必要です。

ブログリンクのクリックハンドラー内でsetTimeoutを呼び出してみてください。

$('#blogLink').click (function (e) {
   e.preventDefault(); //will stop the link href to call the blog page

   setTimeout(function () {
       window.location.href = "blog.html"; //will redirect to your blog page (an ex: blog.html)
    }, 2000); //will call the function after 2 secs.

});

以下のようなsetTimeout関数を使用してみてください。

setTimeout(function () {
   window.location.href = "blog.html"; //will redirect to your blog page (an ex: blog.html)
}, 2000); //will call the function after 2 secs.
71
<meta http-equiv="refresh" content="2; url=http://example.com/" />

ここに 2は秒単位の遅延です。

58
Marat Tanalin
 <script type="text/JavaScript">
      setTimeout("location.href = 'http://www.your_site.com';",1500);
 </script>
9
ashraf mohammed

ブログと呼ばれる「セクション」にスライドするときに、このコードをどこかに含めます。

$("#myLink").click(function() {
    setTimeout(function() {
        window.navigate("the url of the page you want to navigate back to");
    }, 2000);
});

ここで、myLinkはhrefのIDです。

4

JavaScriptを使用して、時間指定されたリダイレクトを簡単に作成できます。ただし、location.hrefの代わりにlocation.replace( 'url')を使用することをお勧めします。ブラウザーがサイトを履歴にプッシュすることを防ぎます。 このJavaScriptリダイレクト ツールが見つかりました。これを使用できると思います。

サンプルコード(5秒の遅延):

<!-- Pleace this snippet right after opening the head tag to make it work properly -->

<!-- This code is licensed under GNU GPL v3 -->
<!-- You are allowed to freely copy, distribute and use this code, but removing author credit is strictly prohibited -->
<!-- Generated by http://insider.zone/tools/client-side-url-redirect-generator/ -->

<!-- REDIRECTING STARTS -->
<link rel="canonical" href="https://yourdomain.com/"/>
<noscript>
    <meta http-equiv="refresh" content="5;URL=https://yourdomain.com/">
</noscript>
<!--[if lt IE 9]><script type="text/javascript">var IE_fix=true;</script><![endif]-->
<script type="text/javascript">
    var url = "https://yourdomain.com/";
    var delay = "5000";
    window.onload = function ()
    {
        setTimeout(GoToURL, delay);
    }
    function GoToURL()
    {
        if(typeof IE_fix != "undefined") // IE8 and lower fix to pass the http referer
        {
            var referLink = document.createElement("a");
            referLink.href = url;
            document.body.appendChild(referLink);
            referLink.click();
        }
        else { window.location.replace(url); } // All other browsers
    }
</script>
<!-- Credit goes to http://insider.zone/ -->
<!-- REDIRECTING ENDS -->
4

これを直接buttunに含めることができます。とてもうまくいきます。役に立つことを願っています。 onclick = "setTimeout( 'location.href = ../../dashboard.xhtml; '、7000); "

0
LAWSON Aaron