Comment jQuery peut-il détecter les changements dans une URL?
Par exemple: si un utilisateur va à une page site.com/faq/
rien ne montre, mais s'il va sur site.com/faq/#open
jquery le détecte et fait quelque chose.
Vous pouvez utiliser l'événement hashchange .
Ou intégrer un plugin de connexion de jquery
$(function(){ // Bind the event. $(window).hashchange(hashchanged); // Trigger the event (useful on page load). hashchanged(); }); function hashchanged(){ var hash = location.hash.replace( /^#/, '' ); //your code }
Essaye ça
$(window).on('hashchange', function(e){ // Your Code goes here });
Ça fonctionne pour moi
Il suffit de regarder window.location.hash
sur la page charger:
$(document).ready(function() { if(window.location.hash === "open") { //Show something } });
Ou lier à l'événement hashchange
de la fenêtre:
$(document).ready(function() { $(window).hashchange(hashchanged); }); function hashchanged() { //Show something }
Essaye ça:
if (window.location.hash) { // Fragment exists, do something with it var fragment = window.location.hash; }
Juste pour référence, la partie d'une URL spécifiée par le #
s'appelle un 'fragment'
Si vous avez une URL de site.com/faq/#open
, vous pouvez le faire
var hash = window.location.hash
Pour obtenir hash = 'open'