JavaScript, Deshabilitar Boton Atrás
Muchas veces me ha tocado comerme la cabeza con historias de este tipo, como putear al navegador y al usuario para que no puedan ir hacia atrás en el histórial de navegación.
El problema en la mayoría de los casos es porque en ciertas páginas (tiendas, aplicaciones, intranets) es necesario deshabilitar esta funcion por motivos de seguridad y/o para prevenir errores.
Es un método sencillo de implementar, ya que con una pequeña función javascript en la etiqueta <head> de nuestra página vamos a podercapar el navegador a la hora de rebobinar el historial:
-
<script type="text/javascript">
-
if (window.history) {
-
function noBack(){window.history.forward()}
-
noBack();
-
window.onload=noBack;
-
window.onpageshow=function(evt){if(evt.persisted)noBack()}
-
window.onunload=function(){void(0)}
-
}
-
</script>
Y listo, molto faccile e divertente y funciona en casi todos los navegadores, al menos en ie6, ie7 y firefox1, 2 y 3. No obstante recordar que esta función no es compatible con páginas que requieran la certificación de accesibilidad WCAG, además es un tema que irrita de sobremanera a algunos usuarios (entre los que me incluyo) y puede hacer que estos empiezen a jurar en lenguas anteriores al imperio Persa.
Demo funcional del script | descargar demo_no_atras.zip
gracias developer.mozilla.org
muyy muyy buen codigo gracias la verdad anda buscando una que funcionara con mozilla porque ninguno funcionaba con mozila pero este me saca de muchos apuros gracias me funciono muy bien
Sencillo pero efectivo. Gracias .
Hola, he probado este código usando el IE8 (Windows) y el FireFox 3.0.10 (Windows y Linux) y en ninguno de los tres navegadores me ha funcionado. Básicamente lo que he hecho es crear un jsp donde el body lo único que tiene es un mensaje que dice “Bienvenido” y en el head he puesto el script y nada de nada.
Si alguien tiene alguna idea de porque no me ha funcionado, agradecería cualquier ayuda.
Saludos.
Muy bien codigo…gracias en realidad buscaba uno que funcara en casi todos los navegadores…..solo habia encontrado para IE, ya ves el monopolio.
Asi queda el codigo :
Prueba 1
if (window.history) {
function noBack(){window.history.forward()}
noBack();
window.onload=noBack;
window.onpageshow=function(evt){if(evt.persisted)noBack()}
window.onunload=function(){void(0)}
}
Ejemplo
Ir a 1
Muy bien codigo…gracias en realidad buscaba uno que funcara en casi todos los navegadores…..solo habia encontrado para IE, ya ves el monopolio.
Asi queda el codigo :
1.
2. Prueba 1
3.
4. if (window.history) {
5. function noBack(){window.history.forward()}
6. noBack();
7. window.onload=noBack;
8. window.onpageshow=function(evt){if(evt.persisted)noBack()}
9. window.onunload=function(){void(0)}
10. }
11.
12.
13.
14. Ejemplo
Ir a 1
PROBE TODOS LOS EJEMPLOS DE ESTA PAGINA WEB Y NINGUNO SIRVIO. LOS PROBE BAJO IE8 Y NADA, IGUAL LA PAGINA DE JESUS DANIEL DE ERROR PERSONALIZADO ME PERMITE EL BOTÒN BACK, O ATRÁS, REGRESAR A ESTA PÁGINA QUE VISUAIZAMOS AHORITA…
EN RESUMEN —>> NO FUNCIONA EL SCRIPT
Hola Hersheys,
Actualizé el artículo y puse una demo del script funcionando, así como un zip para poder bajarte los archivos. A mi me funciona bien en varios IE8, no obstante, en local, este navegador me pide permiso para ejecutar un script, si aceptamos va de lujo. Una vez publicada la página no te pide confirmación y funciona también.
Salu2
El script me funciono perfectamente de verdad muy bueno!!!!!!
Gracias Sherman! un placer poder ayudar a la comunidad de desarrolladores! salu2
Sabes que funciona bastante bien pero tengo un formulario con un boton guardar y no lo ejecuta, sabes por qué?
muy buen codigo.. me sirvió de mucho.. gracias
Amigo el codigo funciona perfect pero por alguna razon no deja ejecutar los demas script que tengo en la pagina. Me ayudan con eso?
Gracias !! buenísimo !!
Desamasiado bueno…tanto buscar hasta que por fin encontre algo que funciona….
Excelente script
Gracias.
Funciona de 10 !
Saludos.
Excelente codigo justo lo que buscaba.-
LO MEJOR QUE ENCONTRADO EN SAN GOOGLE.. EHHHH!!!!
BUEN CODIGO.. MUCGAS GRACIAS…
Grandisimo, muy bueno, me has evitado muchos quebraderos de cabeza! Un 10 para ti!
Muy bueno hermano me funcionó de maravilla, justo lo que buscaba.
Muchas Gracias.
Gracias excelente código, me llegó como anillo al dedo.
Muchas gracias!!!!!