2012-04-02 85 views
5

當在JavaScript中顯示確認框時,如果Yes或No導致頁面重定向,單擊Yes或No後似乎會出現延遲。延遲時間大約是確認盒打開的時間。這隻發生在我的Chrome。有沒有人有解決方案來做到這一點,所以在Chrome中沒有任何延遲?Javascript Chrome確認框延遲

一個簡單的例子描繪了問題:

<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> 

感謝您的幫助!

+0

我在'19.0.1084.1 dev'中看不到延遲。這可能是一個在更高版本中修復的錯誤。 – abraham 2012-04-02 16:48:28

+0

http://code.google.com/p/chromium/issues/detail?id=98275 – j08691 2012-04-02 16:53:52

+0

讓我們假設客戶可能正在使用具有此錯誤的Chrome版本。有沒有一種方法可以有效地重寫上面的代碼來「解決」錯誤?基本上取決於用戶點擊是或否,然後重定向到不同的位置。 – 2012-04-02 17:01:05

回答

3

這似乎是Issue 98275: Javascript confirm dialog creates long delay and appears to lock up page。它被標記爲固定的,儘管看起來用戶仍然基於評論看到它。我可以確認該錯誤出現在18.0.1025.142中。

至於沒有這個Bug修正與Chrome之前的版本用戶的解決方案,我已經創建,您可以使用in this jsFiddle模式對話框的基本實現。它基於這篇文章:Create a Modal Dialog Using CSS and Javascript

或者,如果你正在使用/計劃使用jQuery,您可以使用jQuery dialogs