время перенаправления с задержкой? - PullRequest
33 голосов
/ 26 марта 2012

У меня есть веб-сайт, который перемещается в «раздел» под названием блог в моем HTML.Я хочу, чтобы пользователь просто просматривал страницу в течение короткой секунды или 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>

ОБНОВЛЕНИЕ: Это так странно, когда HTML5 перемещается в блок раздела, который страница по-прежнему отображает со всем кодом и, следовательно, JSдолжно быть запущено событием click, а затем запустить перенаправление на основе таймера.

Решения работают в JS, когда всплывают окна с предупреждениями.Интересно, почему они не работают на моей странице?

Ответы [ 6 ]

69 голосов
/ 26 марта 2012

Редактировать:

Проблема, с которой я сталкиваюсь, заключается в том, что HTML5 находится на одной индексной странице.Поэтому мне нужно, чтобы таймер запускался при нажатии ссылки в блоге.

Попробуйте вызвать 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.
58 голосов
/ 26 марта 2012
<meta http-equiv="refresh" content="2; url=http://example.com/" />

Здесь 2 - задержка в секундах.

9 голосов
/ 20 декабря 2012
 <script type="text/JavaScript">
      setTimeout("location.href = 'http://www.your_site.com';",1500);
 </script>
4 голосов
/ 14 мая 2013

Вы можете легко создавать временные перенаправления с помощью JavaScript.Но я предлагаю вам использовать location.replace ('url') вместо location.href .Это мешает браузеру подтолкнуть сайт в историю.Я нашел этот инструмент JavaScript redirect .Я думаю, вы могли бы использовать это.

Пример кода (с задержкой в ​​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 -->
3 голосов
/ 26 марта 2012

Включите этот код где-нибудь, когда вы переходите в «раздел», называемый блогом.

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

Где myLink - идентификатор вашего href.

0 голосов
/ 04 мая 2017

Вы можете включить это непосредственно в ваш бутун. Это работает очень хорошо. Я надеюсь, что это будет полезно для вас. onclick = "setTimeout ('location.href = ../../dashboard.xhtml;', 7000);"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...