2012-04-02 12 views
5

Al mostrar un cuadro de confirmación en javascript, parece haber un retraso después de hacer clic en Sí o No cuando el Sí o No hace que una página se redirija. La demora es aproximadamente la duración del tiempo durante el cual está abierto el cuadro de confirmación. Esto solo ocurre en Chrome para mí. ¿Alguien tiene una solución para hacer esto para que no haya ningún retraso en Chrome?JavaScript Confirmar retraso de cuadro de Chrome

Un ejemplo simple que muestra el problema:

<html> 
    <head></head> 
    <body> 
     <script type='text/javascript'> 
      var goToGoogle = confirm("Go to Google?"); 
      if (goToGoogle) { 
       window.location.href="http://www.google.com"; 
      } 
     </script> 
    </body> 
</html> 

Gracias por su ayuda!

+0

No veo ninguna demora en '19.0.1084.1 dev'. Puede ser un error que se soluciona en una versión posterior. – abraham

+0

http://code.google.com/p/chromium/issues/detail?id=98275 – j08691

+0

Supongamos que los clientes pueden estar utilizando una versión de Chrome que tiene este error. ¿Existe alguna manera de reescribir efectivamente el código anterior que "solucionaría" el error? Básicamente, depende de si el usuario hace clic en Sí o No y luego lo redirecciona a una ubicación diferente. –

Respuesta

3

Esto parece ser Issue 98275: Javascript confirm dialog creates long delay and appears to lock up page. Está marcado como fijo, aunque parece que los usuarios aún lo están viendo en función de los comentarios. Puedo confirmar que el error está presente en 18.0.1025.142.

En cuanto a una solución para usuarios con versiones de Chrome sin esta corrección de errores, he creado una implementación básica de un diálogo modal que puede usar in this jsFiddle. Se basa en este artículo: Create a Modal Dialog Using CSS and Javascript.

Alternativamente, si está utilizando/planea usar jQuery, puede usar jQuery dialogs.

Cuestiones relacionadas