|
問題描述:
一個jsp,用了JQuery綁定了畫面初期化事件($(function()),初期化事件中有alert(),
IE8下alert彈出消息對話框的瞬間,jsp頁面正常在瀏覽器下被渲染;
但是IE9下,alert彈出消息對話框瞬間,jsp頁面不被渲染,顯示個白頁,當點擊alert中的“OK”后,頁面才被渲染。
IE9下如何才能達到和IE8下同樣的效果?
試了ie9的兼容模式,不起作用。Jsp代碼中強制使用ie8解析模式,也不起作用。
解決辦法:
通過將alert或confirm包裝一層setTimeout。
復制代碼 代碼如下:
$(document).ready(function() {
setTimeout(test,0);
});
function test() {
if(confirm('OK?')) {
alert("think you!");
}
}
猜測結論:
用setTimeout方式可以解決問題。
setTimeout("alert('XXX')", 0 );
ie9下這個問題與JQuery沒有關系。使用setTimeout后,應該是重啟了另外一個線程進行alert,這樣就不會阻止jsp的正常渲染了。
jsp技術:ie9下alert阻擋jsp渲染ie8下沒問題,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。