Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/07/2009, 13:32
Leunamal
 
Fecha de Ingreso: abril-2009
Mensajes: 66
Antigüedad: 16 años
Puntos: 0
Mensaje Problema con la navegación entre páginas en distintos navegadores

Hola gente. Me esta desesperando un poco esto de navegar con los botones de ir hacia adelante o atras con los navegadores. La cosa está en que con Firefox todo va perfecto. Pero con otros navegadores me da problemas diferentes.

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:
$(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);
	};

});
¿He hecho algo mal? ¿Debería ser otro plugin?

Un saludo