2014-06-26 1 views
0

Existe-t-il un moyen de recharger une page avec javascript pour avoir une solution de repli si la page cible n'est pas disponible?location.href et de secours pour la page non disponible

Exemple:

que je fais

location.href = 'http://www.google.com'

Mais peut-être Google est en baisse (ou peut-être l'url n'existe plus ou malformé, etc ...) et dans ce cas, je voudrais éviter le rechargement. Est-ce possible?

+2

Une solution délicate serait de faire une requête AJAX avant et si elle est réussir à naviguer alors à l'url – christof13

+0

Si c'est sur le même domaine, vous pouvez utiliser HEAD-request en utilisant Ajax BEFORE location.href chose ..! Si ce n'est pas dans le même domaine alors je ne pense pas que cela puisse être fait .. –

+0

Je cherche une solution pour n'importe quel domaine (si c'est possible). –

Répondre

1

Vous ne pouvez pas reconnaître ce qui se passe après qu'un visiteur quitte votre page. C'est une bonne chose. Peut-être que vous vérifiez avant la redirection, si vous pouvez vous connecter (côté client) avec javascript si le site est disponible et ensuite effectuer votre redirection. Mais vous devez vérifier avant la redirection, mais pas après comme une solution de repli.

0

Si elle est sur le même domaine, vous pouvez utiliser HEAD-demande en utilisant Ajax AVANT location.href, comme:

function doStuff() { 
    var xhr = new XMLHttpRequest(); 
    xhr.onreadystatechange = function() { 
    if(this.readyState == 4 && this.status == 200) { 
     //page exists 
     location.href = "your_url_of_some_page";    
    } 
    xhr.open("HEAD", address); 
    xhr.send(); 
} 
//call the function 
doStuff(); 
Questions connexes