Saltar al contenido

¿Cómo deshabilitar completamente el botón Atrás de un navegador mientras realiza un examen en línea?

Solución:

Prueba este script

<script>
window.location.hash="no-back-button";
window.location.hash="Again-No-back-button";//again because google chrome don't insert first hash into history
window.onhashchange=function(){window.location.hash="no-back-button";}
</script> 

También refiera esto Enlace. Esta Enlace contener demostración y código de descarga

Pruebe con el siguiente código. Este código se probó con los últimos navegadores Chrome y Firefox.

<script type="text/javascript">
    history.pushState(null, null, location.href);
    history.back();
    history.forward();
    window.onpopstate = function () { history.go(1); };
</script>

Si bien puede evitar el botón Atrás, no puede evitar que el usuario desactive JS mientras realiza el examen. Esto hace que los enfoques de JS sean prácticamente inútiles.

Suponiendo que las páginas anteriores son cuestionarios, sugiero que una vez que el usuario se aleje de la página, cualquier acceso posterior a esa página no será válido. Esto se puede hacer fácilmente usando un lenguaje del lado del servidor y una base de datos para rastrear las páginas visitadas por el usuario.

Tenga en cuenta que algunos navegadores hacen una “actualización” en la página anterior cuando hacen una copia de seguridad, mientras que otros los cargan desde la caché. Esto último hará que la página siga siendo accesible incluso si la marcó como inaccesible en el servidor. Lo que puede hacer además es invalidar cualquier acción realizada en esa página una vez que se haya considerado inválida para el acceso. De esa manera, incluso si el usuario tiene una copia de esa página, no puede hacer nada con ella.

Además, es un examen, y JS es un mal lugar para poner algo de lógica de examen, ya que se puede inspeccionar y modificar fácilmente. En su lugar, debería dejar todo en el servidor.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *