使用 ajax 和 jQuery 时,我仍在为浏览器的历史后退/前进按钮而苦苦挣扎。为了只改变网站上的一个 div,我使用了这个函数:
$(document).on("click",".ajaxLink",function(e){
var hash = jQuery(this).attr('href').split("?")[1];
window.history.pushState("object or string", "my website", "<?php echo $path, "?"; ?>" + hash);
$('#content').load("content.php?" + hash);
return false; // do not follow link
});
使用链接时,它工作正常。但是,单击浏览器的后退或前进按钮时,只有地址栏中的地址会发生变化,内容不会发生变化。我尝试了一些解决方案,例如 Ben Alman 的 hashchange,不幸的是它们对我不起作用。
为了从 content.php 中检索内容,我使用了 get 请求(看起来像 content.php?cat=foo)
如果有人能提出解决方案,我会非常高兴!