程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> ie9下alert阻擋jsp渲染ie8下沒問題

ie9下alert阻擋jsp渲染ie8下沒問題

編輯:關於JSP
ie9下jsp渲染可能會受alert的阻擋。ie8下沒有問題。

問題描述:

一個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的正常渲染了。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved