Acabo de configurar mi nueva página de inicio en http://ritter.vg. Estoy usando jQuery, pero muy poco.
Carga todas las páginas usando AJAX - Lo tengo configurado para permitir marcadores al detectar el hash en la URL.Detección de botón Atrás/Hash Cambio en la 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');
Pero no puedo hacer que los botones de retroceder y avanzar funcionen.
¿Hay alguna manera de detectar cuándo se ha presionado el botón Atrás (o detectar cuándo cambia el hash) sin usar un loop setInterval? Cuando probé ésos con tiempos de espera de .2 y 1 segundo, fijó mi CPU.
En lugar de apuntar al evento HTML4 'hashchange'; ahora existe la API de historial de HTML5 que lo super-siembra. [Aquí hay una buena referencia] (https://github.com/balupton/history.js/wiki/Intelligent-State-Handling). – balupton