JS window.showModalDialog之重新整理
阿新 • • 發佈:2019-02-12
前段時間在後臺使用JS的winodw.showModalDialog來檢視靜態頁面內容,在使用這個之間偶都是一直使用window.open的。後來發現使用showModalDialog比較好,但是當靜態頁面的內容更新的時不能及時顯示更新後的頁面內容。直到今天在做對父視窗的重新整理時才想起前可以給地址中用JS新增一個隨機函式。
實現:
window.showModalDialog(getUrl+"?Rnd="+Math.random(),"","dialogWidth:600px;dialogHeight:400px;help:no;scroll:yes;center:yes;status:no;");
這樣就可以確保每次開啟頁面時都是一個新的頁面而不會被快取了。 math.random()取得某個範圍內的隨機數
由於須要檢視頁面內容後,讓系統自動標記這條資訊內容為已讀狀態,當閱讀這條資訊並更新資料庫相應欄位已標記這條資訊被閱,同時又需要更新列表頁面的資訊狀態,這就需要對列表頁面進行過載。只要當關閉資訊閱讀頁面同時過載父視窗就可以了。
實現:
if(isRe){//在這裡使用一個引數來指定是否須要更新父視窗頁面,由程式列表頁面給於這引數值。
window.opener=null;
window.location.reload();
實現:
window.showModalDialog(getUrl+"?Rnd="+Math.random(),"","dialogWidth:600px;dialogHeight:400px;help:no;scroll:yes;center:yes;status:no;");
這樣就可以確保每次開啟頁面時都是一個新的頁面而不會被快取了。 math.random()取得某個範圍內的隨機數
由於須要檢視頁面內容後,讓系統自動標記這條資訊內容為已讀狀態,當閱讀這條資訊並更新資料庫相應欄位已標記這條資訊被閱,同時又需要更新列表頁面的資訊狀態,這就需要對列表頁面進行過載。只要當關閉資訊閱讀頁面同時過載父視窗就可以了。
實現:
if(isRe){//在這裡使用一個引數來指定是否須要更新父視窗頁面,由程式列表頁面給於這引數值。
window.opener=null;
window.location.reload();
例:
function QuerySub(reportJsp,reporturl)
{
//showModalDialog的第二個引數是傳遞給子視窗的值 showModelessDialog
//在子視窗可以通過window.dialogArguments方法獲取
//如果不需要傳遞,這個引數就用window本身
var result = window.showModalDialog(reportJsp+"?Rnd="+Math.random(),"","dialogWidth:400px;dialogHeight:auto;help:no;scroll:yes;center:yes;status:no;");
//reportjsp為jsp檔名
if(result != null){
//更改子視窗查詢時調出主視窗並輸出引數查詢
window.location=reporturl+ result[0]; //reporturl為主視窗報表路徑
}
}