Deshabilitar el botón “atrás” del navegador con Javascript

Esto fue una ñapa que hice en su día para un curso en el que era alumno. Uno de los profesores se pispó de que en los exámenes de la plataforma virtual los alumnos podían hacer todo el examen, ver la autocorrección de la plataforma, volver hacia atrás pulsando el botón de retroceder del navegador y repetirlo. Como había buen rollo y sabía que yo era programador me preguntó si había una forma de bloquear el botón “retroceder” del navegador… y se lo arreglé con esto:

//primero añadía esta línea de javascript
<script type="text/javascript">
    window.history.forward();
    function sinVueltaAtras(){ window.history.forward(); }
</script>
//y en el body invocaba la función en la carga
<BODY onload="sinVueltaAtras();" onpageshow="if (event.persisted) sinVueltaAtras();" onunload="">

¿Qué hace este código? Pues no deshabilita exactamente el botón atrás, lo que hace es que la página automáticamente se vaya hacia delante. Al ponerlo en la cabecera de la página que cargaba las preguntas hacía que si el alumno retrocedía al cargar la página automáticamente volviera a la última.

La mejor solución habría sido que la plataforma no realizara la autocorrección hasta haber enviado el examen… pero eso ya se lo habría tenido que cobrar.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s