Je dois m'assurer que lorsque l'utilisateur clique sur OK dans une fenêtre d'alerte JavaScript, le navigateur passe à une autre URL. Est-ce possible?
Je suppose que vous voulez dire dans une fenêtre confirm
(c'est-à-dire des options Oui/Non).
if (window.confirm('Really go to another page?'))
{
// They clicked Yes
}
else
{
// They clicked no
}
Qu'entendez-vous par "assurez-vous"?
alert('message');
window.location = '/some/url';
redirige l'utilisateur après avoir cliqué sur OK dans la fenêtre d'alerte.
Une alerte ne retourne pas de valeur, mais bien undefined
, donc le moyen le plus simple que je trouve maintenant est de la conditionner comme ceci
if(!alert("my text here")) document.location = 'http://stackoverflow.com/';
Une meilleure façon est d'utiliser la fonction javascript confirm () comme ceci
if(confirm("my text here")) document.location = 'http://stackoverflow.com/';
Une autre option est de faire votre propre alerte bien sûr
Je pense que ce dont vous avez besoin est ceci:
if(confirm("Do u want to continue?")) {
window.location.href = "/some/url"
}
Oui, il suffit de rediriger immédiatement après l'appel alert()
:
alert('blah blah');
location.href = '....';
Si c'est pour l'accessibilité et que vous voulez écouter chaque lien sur la page et que vérifier si vous quittez le site actuel vers un autre domaine, consultez ce que j'ai écrit, développant la réponse de Joe
$('a').on('click', function() {
if ( this.Host !== window.location.Host ) {
if ( window.confirm('Really go to another page?') ) {
// They clicked Yes
console.log('you chose to leave. bye.');
}
else {
// They clicked no
console.log('you chose to stay here.');
return false
}
}
});