2013-06-04 160 views
8

我的客戶希望在進入網頁時顯示警報。javascript警報阻止頁面加載

但是,警報會阻止進一步加載頁面,直到單擊「確定」,並且需要在顯示警告時加載頁面。

一個解決方案是使用HTML和CSS的自定義警報,但這不能滿足客戶的需求。

是否有解決方案使用'核心JavaScript'或jQuery允許加載頁面時顯示警報? 謝謝。

+0

爲什麼不等待頁面加載顯示警報? – FLX

+0

我明白了...所以你可以做一個自定義提醒看起來完全一樣的本地警報:) – FLX

回答

3

編輯

看到@時髦的答案在Firefox中的解決方法。 (真的很有趣!)


簡單的答案是否定的,這是不可能的!

原因是原生的alert()對話框是UI阻塞,JavaScript是單線程語言。

您必須使用自定義的對話框消息。

但是,如果某些ajax請求在阻塞UI之前完成,那麼當關閉對話框時,ajax響應將/應該可用。因此,在顯示警報之前,您仍然可以提出一些Ajax請求。

+0

見下 – nadavge

+0

@FunKy沒有我的意見,我看不出這是怎麼工作的。 Webworkers可能是一個解決方案,但它還沒有真正實施 –

+0

它的工作原理,但我沒有聽說過網絡工作者,直到現在。看起來很有希望。 – nadavge

0

您可以使用自定義對話框而不是一個警告框(該塊頁面加載)的。例如,Jquery UI Dialog易於使用(但有許多插件完全相同)。

0

當頁面加載完成時顯示警報。這裏以jquery爲例

$(function() { 
    alert("foo"); 
}); 
+0

他希望在頁面仍在加載時顯示它。 – nadavge