剛才在做一個功能,在頁面A上面點擊某個按鈕,彈出模態窗口(window.showModalDialog),頁面為B。在頁面B上有一個按鈕,需要在當前的模態窗口中加載頁面C,但是經過測試發現在頁面B上適用window.href="C.html"或者window.navigate("C.html")都會打開新的IE窗口。只好想一個變通的辦法,當頁面B的按鈕點擊之后,設置window.returnValue="GOTO_C",就是設置一個特殊的返回值,來標識要轉向頁面C。頁面B的按鈕點擊代碼如下:
function gotoNextStep() {
window.returnValue = "GOTO_NEXT_STEP";
window.close();
}
頁面A的代碼就要判斷B返回的值是什么,然后決定如何對應動作。
function popupB() {
var retVal = window.showModalDialog("B.htm", "",
"dialogHeight:286px; dialogWidth:408px; center:yes; resizable:yes");
if (retVal == "GOTO_C") {
window.showModalDialog("C.htm", "",
"dialogHeight:286px; dialogWidth:408px; center:yes; resizable:yes");
}
return true;
}
邏輯上有點怪異,但是現在能夠想到的就是這個變通方法了。
測試環境:Windows XP SP2, IE 6.0
posted on 2008-05-09 10:44
YODA 閱讀(1037)
評論(1) 編輯 收藏