1、一、Iframe 篇/else/如果是 FFalert(document.getElementById(ObjectID).contentDocument.getElementById(ContentID).innerHTML);/FF 下不支持 innerText; 下面是解决方法/if(document.all)/ alert(document.getElementById(div1).innerText);/ else/ alert(document.getElementById(div1).textContent);/父对象向子窗口赋值/ObjectID 是窗口标识,ContentID
2、 是元素 IDfunction SetValue(ObjectID,ContentID)var IsIE = (navigator.appName = Microsoft Internet Explorer)if(IsIE)/如果是 IEdocument.frames(ObjectID).document.getElementById(ContentID).innerHTML=“我是 IE 下通过父窗口赋值过来的“;else/如果是 FFdocument.getElementById(ObjectID).contentDocument.getElementById(ContentID).inn
3、erHTML=“我是FF 下通过父窗口赋值过来的“; /上面这种方法有时需要对“src”属性处理一下。取值:/父窗口取子窗口的值GetValue(“Iframe1“,“IframeDiv“);赋值:/父窗口设置窗口元素的值;SetValue(“Iframe1“,“IframeDiv“);2.子窗口操作父窗口刷新:(1)、window.parent.location.href=window.parent.location.href; (2)、window.parent.location.reload();(3)、大家可以补充取值:alert(window.parent.document.getE
4、lementById(“IframeDiv“).innerHTML);赋值:window.parent.document.getElementById(“IframeDiv“).innerHTML=“我是从子窗口 IFRAME 传过来的值“;关闭:window.parent.opener=null;/如果不加这句,会提示关闭询问窗口;window.parent.close();二、window.open 篇1.父窗口对子窗口操作打开:var win=null;win=window.open(“Open.html“,“win“,“width=200,height=200“);最大化:/窗口最大化
5、function SonMaximize()if(winwin.resizeTo(screen.availWidth+8,screen.availHeight+8);elsealert(还没有打开窗口或已经关闭 );最小化:/窗口最小化function SonMinimize()if(winwin.moveTo(0,window.screen.width);elsealert(还没有打开窗口或已经关闭 );关闭:/关闭窗口function CloseSon()if(winwin.close()elsealert(还没有打开窗口或已关闭 ) ;刷新:/刷新function RefreshSon(
6、)if(winwin.focus();elsealert(窗口还没有打开或已关闭 );查看窗口大小:function ViewSonSize()if(winwin.focus();elsealert( 还没有打开窗口或者已关闭 );取值:alert(window.document.getElementById(“OpenDiv“).innerHTML);赋值:win.document.getElementById(“OpenDiv“).innerHTML=“我是从父窗口中传过来的值“;2.子窗口操作窗口刷新:window.opener.location.reload();/下面这种方法也可以/
7、window.parent.location.href=window.parent.location.href;关闭本窗口:/关闭本窗口function CloseWindow() /window.opener.opener=null;window.close();关闭父窗口:/关闭父窗口function CloseParent() /火狐下不起作用,如果要想起作用。用下面的方法/开 firefox,在地址栏输入 about:config /找到 dom.allow_scripts_to_close_windows 这项并改为 truevar IsIE = (navigator.appName
8、 = Microsoft Internet Explorer)if(IsIE)/如果是 IEwindow.opener.opener=null;window.opener.close();window.close();elsealert(“火狐不能直接关闭;需要以下设置 1.开 firefox,在地址栏输入 about:config;2.找到dom.allow_scripts_to_close_windows 这项并改为 true“);取值:alert(window.opener.document.getElementById(“OpenDiv“).innerHTML);赋值:window.o
9、pener.document.getElementById(“OpenDiv“).innerHTML=“我是从子窗口 Open 传过来的值“;三、模态窗口篇1.父窗口操作子窗口父窗口 JS 代码:var parValue=“现在显示了父窗口中的变量值“;var hao=“郝建卫“; function ShowDailog(PageHref,Title,Height,Width)/-left 位置/screen.availHeight 声明了显示浏览器的屏幕的可用宽度var dleft =(screen.availHeight-Height)/2;/-top 位置var dtop =(scree
10、n.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;“);/-returnif (sRet =“refresh“)/这种是利用返回值来刷新父页面window.Te
11、st=“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)
12、; /获取父窗口中的变量调用父窗口 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)/如果是 IEwindow.parent.parent.close();/parentWin.opener=null;如果把上面的换成这行,不能关闭父窗口,parentWin.close();/window.parent.parent.parent.parent.close();这个只能关闭模态窗口本身目前只在 IE6 下测试elsealert(“火狐不能直接关闭;需要以下设置 1.开 firefox,在地址栏输入 about:config;2.找到dom.allow_scripts_to_close_windows 这项并改为 true“);