Je fais un site Web qui tendent à gérer toute la demande d'une page (Ajax).
J'ai donc pensé que je pouvais piéger tous les utilisateurs sur un lien et vérifier si fort> c'est sur mon site Web, je fais quelque chose sur JavaScript strong> comme une demande Ajax par exemple, faire une montre sur fenêtre.Location n'a pas fonctionné!
Et de plus, je ne sais pas s'il y a de toute façon obtenir la partie URL qui est après le signe #.
Remarque: Gmail et Facebook fait-il que je suppose!, Ils utilisent quelque chose comme ceci: Veuillez prendre en compte: strong> que j'aime utiliser jQuery dans mes projets, de sorte qu'une solution utilisant son utilisation est préférée. p>
Des idées? P>
http://mail.google.com/mail/ #inbox strong> < BR>
http://www.facebook.com/home.php # / Boîte de réception /? Réf = MB STRUT> P>
5 Réponses :
simple: lien:
Comment pouvez-vous vérifier pour un #hash Dans une URL utilisant JavaScript? P> p>
La partie forte> fragment forte> de l'URL est utilisée pour activer l'historique de navigation (boutons de retour et d'avance) sur des sites Web compatibles Ajax. Si vous souhaitez "pièger" clique sur des liens, car vous utilisez de toute façon JQuery, vous pouvez simplement le faire:
$('a').click(function() { var item = $(this); var url = item.attr('href'); // your logic here });
Voici une autre bonne lecture: Restauration de la navigation de navigateur conventionnelle sur les applications Ajax p>
extrait de l'article: p>
De nombreux développeurs ont adopté Ajax en tant que façon de développer des applications Web riches qui sont presque aussi interactifs et sensible en tant qu'applications de bureau. Ajax travaille en divisant l'interface utilisateur Web en différents segments. Un utilisateur peut effectuer une opération sur un segment puis Commencez à travailler sur d'autres segments sans attendre le premier opération à finir. p>
Mais Ajax a un inconvénient majeur; ce casse le comportement du navigateur standard, tel comme arrière, avant et bookmarking Support. Plutôt que de forcer les utilisateurs à s'adapter aux lacunes d'Ajax, Les développeurs devraient faire leur ajax Les applications sont conformes à la Interaction Web traditionnelle style, ....... p> blockQuote>
Bonne information, j'aime toujours considérer sérieusement la convivialité dans mes sites Web.
Voir le lien de @pekka à window.setInterval () code>
p>
Remarque: Window.setInterval () pourrait tuer la performance! Je préfère utiliser le gestionnaire d'événements (spécifiquement jQuery's Way)
Si vous regardez le jQuery HashChange - c'est juste un script seinterval sur tout, mais IE8. Bien que c'est un joli script.
Oh!, Je pense que je pourrais le jeter pour ça.
... Il n'y a pas d'événement «Hashchange» sur quoi que ce soit, mais c'est-à-dire ie8 - d'où le seinterval. seinterval n'est pas mauvais tant que la minuterie n'est pas horriblement faible - elle fonctionne à la fin de la boucle d'événement, de sorte que tous les autres événements arrivent en premier.
Il y a un HashChange CODE> Event expédié sur la fenêtre pour les navigateurs les plus récents. P>
Je cherche une solution compatible en arrière (comme IE6 :(). Donc, je préférerais surveiller les clics d'ancrage.
Hmmm, plugins.jquery.com/project/hashschange fait le truc :). merci pour le mot clé hashchange code>
@Omar: La partie de l'URL après # est le «hachage». Édité votre titre et tag. :)
@ o.k.w: la partie de l'URL après # est appelée «fragment», pas hachage.
@ O.K.W Merci, je ne suis pas un anglais "natif", alors n'hésitez pas à le corriger pour être plus évident.
@Drjokepu: Vous avez raison! Hachage est plus d'une notation JavaScript.
fragment code> est le terme correct: Outils.ietf.org/html /RFC3986#Section-3.5