Que dois-je faire pour avoir une fonction sur un site Web où elle indique qu'elle vous redirigera vers le site en 3 secondes environ ?
Réponses
Trop de publicités?Vous recherchez probablement la balisemeta
refresh
:
<html>
<head>
<meta http-equiv="refresh" content="3;url=http://www.somewhere.com/" />
</head>
<body>
<h1>Redirecting in 3 seconds...</h1>
</body>
</html>
Notez que l'utilisation de meta
refresh
est obsolète ces jours-ci, mais c'est parfois la seule option viable (par exemple, si vous n'êtes pas en mesure de générer des en-têtes de redirection HTTP côté serveur et/ou si vous devez prendre en charge des clients non JavaScript, etc.).
Si vous voulez plus de contrôle, vous pouvez utiliser javascript plutôt que la balise meta. Cela vous permettrait d'avoir un visuel d'une sorte, par exemple un compte à rebours.
Voici une approche très basique utilisant setTimeout()
<html>
<body>
<p>You will be redirected in 3 seconds</p>
<script>
var timer = setTimeout(function() {
window.location='http://example.com'
}, 3000);
</script>
</body>
</html>
Voici un exemple complet (mais simple) de redirection après X secondes, lors de la mise à jour d'un compteur div :
<html>
<body>
<div id="counter">5</div>
<script>
setInterval(function() {
var div = document.querySelector("#counter");
var count = div.textContent * 1 - 1;
div.textContent = count;
if (count <= 0) {
window.location.replace("https://example.com");
}
}, 1000);
</script>
</body>
</html>
Le contenu initial de la division counter
est le nombre de secondes à attendre.