2009-10-03 8 views
0

Je suis en train de jouer avec l'utilisation de javascript pour ajouter des fonctionnalités supplémentaires à un bouton de retour sur mon site Web. En ce moment j'ai un ensemble de javascript qui ressemble à ceci:Tester l'historique du navigateur avant de revenir en arrière via javascript?

$(".back-link a").live("click", function(){ 
    history.go(-1); 
    return false; 
}); 

Maintenant, il fonctionne très bien, mais je suis en train de le rendre aussi l'épreuve des balles que possible et une question que je prévois est que si quelqu'un tombe sur un projet page et n'est pas venu à travers ma page d'accueil, puis revenir dans leur histoire une étape les enlèvera de mon site. Évidemment, ce n'est pas ce que je veux. Je suppose que ce serait un simple cas de faire une déclaration if, mais je ne suis pas sûr de quoi ou comment tester pour cela. Je suppose que je pourrais juste tester pour m'assurer que la base de l'URL est mon site mais je ne sais pas comment.

Des conseils ou des instructions seraient super.

+4

Les navigateurs ont déjà un bouton de retour ... plus http://www.useit.com/alertbox/990530.html –

+0

+1 Mauricio. S'il vous plaît ne pas singe avec le comportement attendu du navigateur en scriptant «retour». – bobince

+0

Hmm. Je pourrais l'enlever. Je l'avais dedans, à l'origine, parce que les projets étaient AJAX, mais j'ai finalement abandonné ça pour toutes les anciennes raisons. Je pense que je pourrais juste laisser tomber les boutons de retour entièrement et me sauver l'inquiétude. Bons points, les gars. –

Répondre

0

Non, ce n'est pas aussi simple que ça. Vous pouvez utiliser la collection d'historique pour revenir en arrière ou en avant, mais vous ne pouvez pas obtenir les URL dans l'historique. La seule information que vous pouvez obtenir sur l'origine de l'utilisateur est la chaîne HTTP_REFERER dans l'en-tête de la requête, mais vous devez utiliser le code côté serveur pour l'obtenir.

+0

Vous pouvez également obtenir l'en-tête Referer de document.referrer dans JS. (Oui, malgré l'orthographe incohérente.) – bobince

Questions connexes