web-dev-qa-db-fra.com

redirection différée?

J'ai un site Web qui glisse vers une "section" appelée blog dans mon HTML. Je veux que l'utilisateur voie simplement la page pendant une brève seconde ou 2 puis redirige vers mon moteur de blog.

Veuillez suggérer une redirection différée?

Si je peux rediriger avec un temps de retard basé sur le clic du blog 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>

UPDATE: C'est vraiment étrange lorsque les diapositives HTML5 de la section bloquent la page restituée avec tout le code. Par conséquent, le JS doit être déclenché par l'événement click puis exécuter la redirection en fonction du minuteur.

Les solutions fonctionnent dans JS lorsque les zones d’alerte apparaissent. Je me demande pourquoi ils ne travaillent pas dans ma page?

30
SOLDIER-OF-FORTUNE

Modifier:

Le problème auquel je suis confronté est que HTML5 est sur une seule page d'index. Donc j'ai besoin de la minuterie pour démarrer en cliquant sur le lien du blog.

Essayez d’appeler le setTimeout dans un gestionnaire de clic sur le lien du blog,

$('#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.

});

Essayez d’utiliser la fonction setTimeout comme ci-dessous,

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.
64
<meta http-equiv="refresh" content="2; url=http://example.com/" />

Ici, 2 est un délai en secondes.

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

Vous pouvez facilement créer des redirections chronométrées avec JavaScript. Mais je vous suggère d'utiliser location.replace ('url') au lieu de location.href. Il empêche au navigateur de pousser le site dans l'historique. J'ai trouvé cette redirection JavaScript outil. Je pense que vous pourriez utiliser ceci.

Exemple de code (avec un délai de 5 secondes):

<!-- 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
Patartics Milán

Incluez ce code quelque part lorsque vous glissez vers votre "section" appelée blog.

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

myLink est l'identifiant de votre href.

3
Elliot Bonneville

Vous pouvez l'inclure directement dans votre derrière. Il fonctionne très bien. J'espère que cela vous sera utile Onclick = "setTimeout ('location.href = ../../dashboard.xhtml;', 7000);"

0
LAWSON Aaron