Logrado con jQuery History Plugin
Descarge jquery.history.js que obviamente se utiliza junto a al jquery base, en mi caso jquery-1.4.4.min.js
El javascript lo modifique solo un poco, para usar con php ( ojo que la primera linea es jQuery.noConflict para poder usar otros js en el sitio y la "j" luego de "$" es la que indica la diferencia):
Código Javascript
:
Ver originalvar $j = jQuery.noConflict();
jQuery(document).ready(function($j) {
function load(num) {
$j('div#columna_derecha_centro').load(num +".php");
}
$j.history.init(function(url) {
load(url == "" ? "inicio" : url);
});
$j('a.cargar').live('click', function(e) {
var url = $j(this).attr('href');
url = url.replace(/^.*#/, '');
$j.history.load(url);
return false;
});
});
Los tags "div#columna_derecha_centro" y "a.cargar" son los que ocupe, pero desde luego se pueden cambiar.
Funciona perfecto, no lo he probado aun con el boton de facebook, pero si se puede entrar directamente a la url y funcionan los botones del navegador, el formato de la url es www.dominio.com/#index (y así con cada sección). Ahora bien, el problema es que cada boton del sitio debe tener el formato, es decir, en mi caso "<a href="#index" class="cargar">Inicio</a>" lo cual hace que los administradores de contenido entren en problemas ya que los enlaces vienen predefinidos.
Ahora solo estoy buscando que el enlace no sea necesariamente php o algo especifico, y que en la url resultante se pueda ocupar la extensión, es decir, la url sea algo así como www.dominio.com/#index.php , así los admin. de contenido pueden funcionar sin cambios mayores, un ejemplo es [URL="http://www.sonarfm.cl"]www.sonarfm.cl[/URL] (no se si ocuparan el mismo sistema, pero hace algo muy parecido).