我正在努力找到关于历史和/或哈希的好(和完整)文章,但无济于事。所有,我发现的,是关于图书馆的,但我想用我的双手写一个jjax历史。
我所知道的,我将使用历史api(没有数字(#)符号)。对于使用不支持历史记录api的浏览器的用户,我将放入<head>
脚本,该脚本将重定向到:ex.com/adress1#/adress2到ex.com/adress2(这是针对F5)
你能帮帮我吗?
答案 0 :(得分:0)
您在寻找这种解决方案吗?
$(".link").click(function() {
window.location.hash = "param";
});
$(init);
function init() {
ajax_page_handler();
page_load($(window.location).attr("hash"));
}
function page_load($href) {
if ($href != undefined && $href.substring(0, 1) == '#') {
if ($href === "#param") {
// load the relevant data
}
$('html, body').animate({
scrollTop: 0
}, 'slow'); // bonus
}
}
function ajax_page_handler() {
$(window).bind('hashchange', function() {
$href = $(window.location).attr("hash");
page_load($href);
});
}
答案 1 :(得分:0)
对于旧版浏览器,您可以使用此库:https://github.com/devote/HTML5-History-API它完全模拟旧浏览器中的历史记录。它不需要编写额外的/不必要的代码。