showModalDialog開啟視窗中獲取父視窗js方法
阿新 • • 發佈:2019-01-08
1.父視窗操作子視窗
父視窗JS程式碼:
var parValue="現在顯示了父視窗中的變數值";
var hao="郝建衛";
function ShowDailog(PageHref,Title,Height,Width)
{
//--------------left位置
//screen.availHeight聲明瞭顯示瀏覽器的螢幕的可用寬度
var dleft =(screen.availHeight-Height)/2;
//--------------top位置
var dtop =(screen.availWidth-Width)/2 ;
//---------------
Var sRet = window.showModalDialog(PageHref,window,Title,"scrollbars=yes;resizable=no;help=no;status=no;center=yes;dialogTop=25;dialogLeft="+ dleft +";dialogTop="+ dtop +";dialogHeight="+Height+"px;dialogWidth="+Width+"px;");
//--------return
if (sRet =="refresh" )//這種是利用返回值來重新整理父頁面
{
window.Test="true";
window.location.reload();
alert(window.Test);
}
}
function test()
{
alert("模態視窗成功呼叫父視窗的方法");
}
2.模態視窗操作父視窗
var parentWin=window.dialogArguments;
重新整理:
parentWin.location .reload();
取值:
alert(parentWin.document.getElementById("ShowModalDialogDiv").innerHTML) //獲取父視窗中的物件
alert("我是從父視窗中得到的變數>>>"+parentWin.parValue); //獲取父視窗中的變數
呼叫父視窗JS方法:
parentWin.test(); //呼叫父視窗中的方法
賦值:
parentWin.document.getElementById("ShowModalDialogDiv").innerHTML="我是從子視窗ShowModalDialog傳過來的值";
關閉本視窗:
//關閉本視窗
function CloseWindow()
{
window.parent.close();
}
關閉父視窗:
//關閉父視窗
function CloseModal()
{
var IsIE = (navigator.appName == 'Microsoft Internet Explorer')
if(IsIE){//如果是IE
window.parent.parent.close();
//parentWin.opener=null;如果把上面的換成這行,不能關閉父視窗,
parentWin.close();
//window.parent.parent.parent.parent.close();這個只能關閉模態視窗本身目前只在IE6下測試
}else{
alert("火狐不能直接關閉;需要以下設定1.開firefox,在位址列輸入about:config;2.找到dom.allow_scripts_to_close_windows這項並改為true");
}
}