2009-09-22 36 views

Respuesta

23

No puede anular el comportamiento de que si un usuario sigue un enlace a su página, al hacer clic en Atrás se los quitará de nuevo.

Pero puede hacer que las acciones de JavaScript en su página añadan entradas al historial como si fueran clics para páginas nuevas, y controlar lo que ocurre con Atrás y Adelante en el contexto de esos clics.

Existen bibliotecas de JavaScript para ayudar con esto, con Really Simple History siendo un ejemplo popular.

12

sí, puede. Utilice esta JS:

(function(window, location) { 
    history.replaceState(null, document.title, location.pathname+"#!/stealingyourhistory"); 
    history.pushState(null, document.title, location.pathname); 

    window.addEventListener("popstate", function() { 
     if(location.hash === "#!/stealingyourhistory") { 
      history.replaceState(null, document.title, location.pathname); 
      setTimeout(function(){ 
       location.replace("http://www.programadoresweb.net/"); 
      },0); 
     } 
    }, false); 
}(window, location)); 

que redirigirá el botón de vuelta a la location.replace se especifica

+1

Este fragmento de código realmente me ayudó. Bueno, por el 50%. ¿Podría hacerse lo mismo con el botón de avance? Y si es así, ¿podría ayudarme con algún código de ejemplo? –

0

Creo que esto va a hacer el truco. puede escribir su código personalizado para ejecutar en el botón Atrás del navegador haga clic dentro de onpopstate función. Esto funciona en HTML5.

window.onpopstate = function() { 
     alert("clicked back button"); 
    }; history.pushState({}, ''); 
Cuestiones relacionadas