J’ai besoin d’aide avec la syntaxe.
Mon site charge les articles de blog dans #board div en utilisant AJAX et je le ferme en cliquant sur #close. Quand je charge un article, l’URL devient comme ceci http://www.visualise.ca/#!/anne-au-cherry et je voudrais revenir à http://www.visualise.ca/ lorsque je ferme poster. Ce qui suit me donne http://www.visualise.ca/#/
$("#close").live("click", function(event) { $("#board").slideUp("slow"); window.location.hash = "#/"; window.history.pushState(null,null,site_url+"/"); return false; });
1) Quelqu’un peut aider s’il vous plaît?
2) Que faire si le navigateur ne supporte pas html5?
Merci beaucoup pour votre temps et votre aide.
MISE À JOUR: This Works, il y avait une faute de frappe dans ma variable ‘site_url’.
PushState ne fonctionne pas sur le hachage. Si vous voulez qu’il soit compatible PushState change l’URL sans changer de page: Si vous voyez l’historique comme un tableau, Vous ouvrez la page d’accueil vide de votre navigateur et allez à la page1.html maintenant l’historique est = Si vous déclenchez pushState à partir de page1.html avec l’URL page2.html, l’historique est maintenant Si le navigateur ne supporte pas PushState, il ne fait rien. Donc, pour votre exemple: Et quand vous chargez votre ajax: Si vous voulez utiliser du hasch, vous pouvez faire quelque chose comme ceci: Et quand vous chargez votre ajax: Si vous utilisez pushState, sachez que les URL peuvent cesser de pointer vers des sous-dossiers que vous n’avez pas et que vous avez donc besoin d’une sorte de code de réécriture .htaccess. history = [];
['page1.html']
. ['page1.html','page2.html']
et la barre d’adresse affiche page2.html.
$("#close").live("click", function(event) { $("#board").slideUp("slow"); window.history.pushState(null, null, site_url+"/"); return false; });
window.history.pushState(null,null,site_url + "/" + ajax_url);
$("#close").live("click", function(event) { $("#board").slideUp("slow"); window.location.href = "#/" return false; });
window.location.href = "#/" + ajax_url