Utilizo el plugin de jquery: jquery.history del que se puede bajar de aquí:
http://plugins.jquery.com/project/history
Con internet explorer 8, por ejemplo, abro una página, luego entro en la siguiente. Le doy para atras y va bien. Pero quiero ir hacia adelante y nada.. Tambien hay problemas cuando entro en unas pocas de páginas, cuando quiero ir a las anteriores llega un momento que cambia la url pero no el contenido.
Es un poco desesperante. ¿Debería de cambiar de plugin?
El código que utilizo es el siguiente:
Código:
¿He hecho algo mal? ¿Debería ser otro plugin? $(document).ready(function() { //Esta función se utiliza para poder cargar páginas del historial: function pageload(hash){ //var cache_not=Math.random(); if(hash){ var toLoad = hash+'.html'; $("#cont-pcpal-cuerpo").load(toLoad); } else{ //Comprobamos si estamos en la portada de la página: var direc = window.location.href; direc = window.location.href.match( /\/([^/]+)$/ ); if(direc == null || direc[1] == "index.jsp"){ //Se carga la portada de la página al abrir la página: contenido.load("contenido/portada.html"); } } } var enlaces = $("a"); var cargando = $("#cargando"); var contenido = $("#cont-pcpal-cuerpo"); $.history.init(pageload); enlaces.livequery('click', function(e){ //Se deshabilita el comportamiento por defecto: e.preventDefault(); //Creamos el hash para navegar en páginas con AJAX: window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5); var enlace = $(this).attr("href"); mostrarCargando(); if(enlace != "#"){ contenido.slideUp("slow", function(){ contenido.load(enlace, ocultarCargando); } ); contenido.slideDown(); } //Cargamos la página en el historial: $.history.load($(this).attr('href').substr(0,$(this).attr('href').length-5)); return(false); }); // Función para mostrar el mensaje de carga: function mostrarCargando(){ cargando .css({visibility:"visible"}) .css({opacity:"1"}) .css({display:"block"}) ; } // Función para ocultar el mensaje de carga: function ocultarCargando(){ cargando.fadeTo(1000, 0); }; });
Un saludo