Я только что установил свою новую домашнюю страницу по адресу 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 секунда, оно привязывало мой процессор.
Вместо того, чтобы нацеливаться на событие HTML4 `hashchange`; теперь есть API истории HTML5, который супер-семени. [Вот хорошая ссылка] (https://github.com/balupton/history.js/wiki/Intelligent-State-Handling). – balupton 2011-03-07 05:38:47