我的客戶希望在進入網頁時顯示警報。javascript警報阻止頁面加載
但是,警報會阻止進一步加載頁面,直到單擊「確定」,並且需要在顯示警告時加載頁面。
一個解決方案是使用HTML和CSS的自定義警報,但這不能滿足客戶的需求。
是否有解決方案使用'核心JavaScript'或jQuery允許加載頁面時顯示警報? 謝謝。
我的客戶希望在進入網頁時顯示警報。javascript警報阻止頁面加載
但是,警報會阻止進一步加載頁面,直到單擊「確定」,並且需要在顯示警告時加載頁面。
一個解決方案是使用HTML和CSS的自定義警報,但這不能滿足客戶的需求。
是否有解決方案使用'核心JavaScript'或jQuery允許加載頁面時顯示警報? 謝謝。
你應該通過setTimeout的運行它:
setTimeout(function() { alert('hello world'); }, 1);
此如下所示: Is there a JavaScript alert that doesn't pause the script?
編輯
看到@時髦的答案在Firefox中的解決方法。 (真的很有趣!)
簡單的答案是否定的,這是不可能的!
原因是原生的alert()
對話框是UI阻塞,JavaScript是單線程語言。
您必須使用自定義的對話框消息。
但是,如果某些ajax請求在阻塞UI之前完成,那麼當關閉對話框時,ajax響應將/應該可用。因此,在顯示警報之前,您仍然可以提出一些Ajax請求。
您可以使用自定義對話框而不是一個警告框(該塊頁面加載)的。例如,Jquery UI Dialog易於使用(但有許多插件完全相同)。
爲什麼不等待頁面加載顯示警報? – FLX
我明白了...所以你可以做一個自定義提醒看起來完全一樣的本地警報:) – FLX