2011-07-24 2 views
1

J'ai un widget qui est intégré dans des sites aléatoires. Lorsque l'utilisateur clique, j'appelle le serveur pour mettre à jour le clic et le serveur renvoie la redirection vers la bonne page. Le problème est que le bouton Retour du navigateur ne fonctionne plus.Le bouton Précédent ne fonctionne pas après la redirection javascript

J'utilise location.href pour la redirection.

J'ai essayé location.replace - qui conserve le bouton de retour, mais il va à la page avant la page dans laquelle le widget a été cliqué (il le remplace par la nouvelle page).

Comment puis-je faire le changement de page après avoir signalé au serveur tout en permettant au bouton de retour de fonctionner?

Répondre

4

Vous ne pouvez pas revenir à une page qui effectue une redirection automatique. C'est juste un bouton de retour brisé et un utilisateur frustré.

User goes to page A. 
User clicks on link to page B. 
Page B automatically redirects to page C with window.location. 
User hits back button and momentarily goes back to page B. 
Page B automatically redirects to page C with window.location. 
User hits back button and momentarily goes back to page B. 
Page B automatically redirects to page C with window.location. 
User is sad. 

De toute évidence, cela ne fonctionne pas. Il doit fonctionner comme ceci:

User goes to page A. 
User clicks on link to page B. 
Page B automatically redirects to page C with window.location.replace(). 
User hits back button and goes back to page A. 
User is happy. 

Vous devez rediriger automatiquement avec window.location.replace() si vous voulez que le bouton de retour au travail.

+0

Beau concept. Ce n'est pas idéal pour moi parce que j'ai besoin de mettre en œuvre la page B et envoyer toutes sortes d'informations là pour le rapport côté serveur. Comme c'est un widget qui n'est pas sur mon propre site c'est un problème. Mais ce peut être une solution de contournement que je vais utiliser si aucune meilleure alternative ne se présente. – Nir

+0

Cela me semble étrange. Vous dites que vous devez mettre beaucoup d'informations dans la page B, mais l'utilisateur est automatiquement redirigé loin de la page B. Je suppose que je ne comprends pas pourquoi l'utilisateur a besoin de voir la page B? – jfriend00

Questions connexes