我刚刚在http://ritter.vg上设置了我的新主页。我使用jQuery,但非常简单。
它使用AJAX加载所有页面 - 我已设置为允许通过检测URL中的散列来添加书签。检测URL中的返回按钮/哈希变化
//general functions
function getUrl(u) {
return u + '.html';
}
function loadURL(u) {
$.get(getUrl(u), function(r){
$('#main').html(r);
}
);
}
//allows bookmarking
var hash = new String(document.location).indexOf("#");
if(hash > 0)
{
page = new String(document.location).substring(hash + 1);
if(page.length > 1)
loadURL(page);
else
loadURL('news');
}
else
loadURL('news');
但我无法得到后退和前进按钮的工作。
有没有办法检测后退按钮何时被按下(或检测何时散列改变)而不使用setInterval循环?当我用0.2秒和1秒的超时时间测试它时,它与我的CPU挂钩。
而不是针对HTML4`hashchange`事件;现在有超级种子的HTML5 History API。 [这是一个很好的参考](https://github.com/balupton/history.js/wiki/Intelligent-State-Handling)。 – balupton 2011-03-07 05:38:47