2013-01-08 3 views
0

J'utilise history.back (-1) et j'ai également essayé history.go (-1) pour aller à l'URL précédente, il me permet d'accéder à l'URL précédente, mais dans Chrome il faut le contenu de Cache donc si j'ai fait des changements via ajax et navigué vers une autre page et que je veux revenir à l'URL précédente, il devrait actualiser la page et obtenir le nouveau contenu mis à jour de DB au lieu du cache. Ce problème concerne uniquement le chrome et peut également figurer dans Safari 5.history.back() montrant des problèmes avec Chrome

Ou existe-t-il un moyen d'accéder à l'URL précédente, sauf en utilisant l'objet d'historique? Eh bien, nous pouvons le faire en utilisant document.referrer mais il ne me donne dièse (#) valeurs, supposons que j'ai une URL http://www.example.com/home.html#navigate et si j'utilise document.referrer il ne me donnera http://www.example.com/home.html

S'il vous plaît aider

+1

Vérifiez objet « emplacement » dans la console de chrome et vous trouver comment accéder à différentes parties de la chaîne url. Il y a aussi "location.assign (string url)" que vous pouvez utiliser pour l'actualisation forcée. – zvona

+0

Vous pouvez utiliser location.hash en javascript pour obtenir #navigate. –

Répondre

1

Vous pouvez:

  1. Désactiver le cache de fichiers, setting no-cache. (peut également être fait en backend en changeant l'en-tête du fichier, mais je ne sais pas quel backend vous utilisez.)
  2. Vous pouvez utiliser un setInterval pour valider le window.location.hash et mettre un rappel.
    • Backbone.js dans le routeur peut vous aider.
    • Sammy.js est un très bon choix aussi!
    • Vous pouvez google pour d'autres bibliothèques pushState.
  3. Vous pouvez enregistrer la référence DOM de votre contenu de la page dans une variable quand une partie du contenu par xhr besoin d'appliquer les modifications de sécurité, vous le changiez contenu, donc si l'histoire de l'utilisation de l'utilisateur retour, le DOM sera construit l'arbre des éléments de mémoire, et la page a été modifiée à ce stade. (Je n'ai pas testé cela, mais en théorie cela pourrait fonctionner parce que vous venez de vous référer à l'instance que votre navigateur utilise pour remplir le DOM).

espère que cela vous aide, mais avec des informations que vous avez donné, je ne peux pas aller plus loin ...

Questions connexes