2012-04-02 11 views
5

Quando si visualizza una casella di conferma in javascript, sembra esserci un ritardo dopo aver fatto clic su Sì o No quando Sì o No causa un reindirizzamento di pagina. Il ritardo riguarda la durata della durata della casella di conferma. Questo succede solo in Chrome per me. Qualcuno ha una soluzione per farlo, quindi non c'è alcun ritardo in Chrome?Javascript Chrome conferma ritardo casella

Un semplice esempio che descrive il 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> 

Grazie per il vostro aiuto!

+0

Non vedo alcun ritardo in '19.0.1084.1 dev'. Potrebbe trattarsi di un errore risolto in una versione successiva. – abraham

+0

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

+0

Supponiamo che i clienti stiano utilizzando una versione di Chrome con questo bug. C'è un modo per riscrivere efficacemente il codice sopra che "aggirerebbe" il bug? Fondamentalmente a seconda se l'utente fa clic su Sì o No, quindi reindirizza a una posizione diversa. –

risposta

3

Questo sembra essere Issue 98275: Javascript confirm dialog creates long delay and appears to lock up page. È contrassegnato come fisso, anche se sembra che gli utenti lo vedano ancora in base ai commenti. Posso confermare che il bug è presente in 18.0.1025.142.

Per quanto riguarda una soluzione per gli utenti con versioni di Chrome senza questa correzione di bug, ho creato un'implementazione di base di una finestra di dialogo modale che è possibile utilizzare in this jsFiddle. Si basa su questo articolo: Create a Modal Dialog Using CSS and Javascript.

In alternativa, se si sta utilizzando/si prevede di utilizzare jQuery, è possibile utilizzare jQuery dialogs.

Problemi correlati