Détecter la nouvelle URL ?

Drazounet Messages postés 63 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 27 mars 2008 - 7 mai 2007 à 12:37
Drazounet Messages postés 63 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 27 mars 2008 - 7 mai 2007 à 16:19
Bonjour à tous,

Je suis en train de développer un système qui permet de gérer plusieurs fiches, via un formulaire. J'ai adapté ce système pour que l'utilisateur cliques sur le bouton "Enregistrer", tous les champs sont alors envoyés par AJAX sur une page PHP.

Jusque là, pas de problèmes.

Maintenant, lorsque l'utilisateur change de page (clique sur un lien, ferme le navigateur, etc.), j'utilise la fonction window.onunload = function() {
  ...
}

Et je propose à l'utilisateur d'enregistrer les modifications. Là aussi, tout va bien, SAUF lorsque j'actualise la page (F5), les champs sont en effet enregistrés correctement, mais la page affiche les anciennes valeures. J'imagine que le navigateur effectue la commande GET avant la commande onunload et qu'il attend la fin du onunload pour changer le contenu du navigateur.

Alors je voudrais savoir s'il est possible de détecter la nouvelle URL que le navigateur va charger, pour me permettre de faire quelques petits tests (un petit exemple pour être plus précis, je suis sur index.php et je clique sur le lien test.php, j'aimrais pouvoir savoir que le navigateur va se diriger sur test.php, avec une commande qui ressemblerait au "document.location.href").

Désolé si je ne suis pas très clair, les explications ne sont pas mon point fort, donc n'hésitez pas à demander un éclaircissement si vous n'avez pas compris ma question !

Merci d'avance !

1 réponse

Drazounet Messages postés 63 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 27 mars 2008
7 mai 2007 à 16:19
Bon, alors j'ai trouvé pour Firefox, mais j'ai jours de la peine avec IE.

Voilà pour Firefox :

window.onunload = function(e) {
    if (confirm("blablabla")) {
        sauvegarde();
        document.location.href=e.target.location.href;
    }
}

Avec IE, il me dit que window.event.srcElement est null !
0
Rejoignez-nous