今天遇到這樣一件事情,
複製代碼 代碼如下:
var frmHeight = 352;
var frmWidth = 508;
var frmTop = (window.screen.height - frmHeight) / 2;
var frmLeft = (window.screen.width - frmWidth / 2);
var url = "ChosePerson.aspx";
var parameter = "dialogHeight:" + frmHeight + "px;dialogWidth:" + frmWidth + "px;dialogTop" + frmTop + "px;dialogLeft" + frmLeft + "px;scroll:0;status:0;reziable:1;";
var rval = window.showModalDialog(url, "", parameter);
window.showModalDialog()//第一次載入是走page_load()方法的,第二次載入時就不走page_load();
具體原因:
是緩衝的問題,你第一次開啟視窗後,第二次瀏覽器沒有從伺服器端取資料,而直接找到了你已經下載的檔案,
最終解決辦法:
1.設定瀏覽器屬性
將IE的設定改一下再試試,Internet選項->常規->設定->每次訪問此頁時檢查
(優點全站重載入,可解決問題)
2.添加緩衝,把以前的緩衝給清除
//加入緩衝,清除以前資料,防止不進行載入頁面
<%@ OutputCache Duration="1" VaryByParam="none"%>
(優點只針對需要的介面加,節省時間)
//新增
3.(7/10測試時發現IE7不支援第2種緩衝格式)沒辦法只有修改清除緩衝代碼
在<head></head>中加入
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">