父窗口和子窗口之间方法调用 js  2011-09-04 23:39:39|  分类: javascript |  标签: |字号大中小 订阅 .
弹出窗口两种方式:
1.window.showModalDialog:
var feature = "dialogWidth:615px;dialogHeight:505px;status:no;help:no;scroll:no;resizable:no;center:yes";
window.showModalDialog(url, Object(传给弹出窗口的参数,可以是任何类型),feature)
决定窗口的外观是第三个参数feature,其中center属性指定为"yes",弹出窗口居中;
如果想手动指定弹出窗口的具体位置,去掉center属性,
用dialogTop(弹出窗口上边界居屏幕上的距离)
dialogLeft(弹出窗口左边界居屏幕左的距离)属性
如:(距离是px像素),这里手动指定弹出窗口位置居中
var iTop = (window.screen.availHeight-550)/2; //获得窗口的垂直位置,550为弹出窗口的height;
var iLeft = (window.screen.availWidth-640)/2; //获得窗口的水平位置,640为弹出窗口的width;
var feature = "dialogWidth:615px;dialogHeight:505px;status:no;help:no;scroll:no;resizable:no;dialogTop:'+iTop+';dialogLeft:'+iLeft+';";
2.window.open: 
var feature = "width=615,height=505,menubar=no,toolbar=no,location=no,scrollbars=no,status=no,modal=yes"
window.open(url, window(弹出窗口的名字), feature)
手动指定弹出窗口位置,属性top:(弹出窗口上边界居屏幕上的距离)
属性left:(弹出窗口左边界居屏幕左的距离)
下面指定弹出窗口位置居中(这种方式没有center属性):
var iTop = (window.screen.availHeight-550)/2; //获得窗口的垂直位置,550为弹出窗口的height;
var iLeft = (window.screen.availWidth-640)/2; //获得窗口的水平位置,640为弹出窗口的width;
var feature = "width=615,height=505,top="+iTop+",left="+iLeft+",menubar=no,toolbar=no,location=no,scrollbars=no,status=no,modal=yes";
子窗口调用父窗口的东东(控件或者方法):
1. window.open打开的子窗口有window.opener属性
子窗口通过获得父窗口的东东。
如:window.ElementById("userName");得到父页面的控件。
window.opener.fresh();调用父页面的js方法。
2. window.showModalDialog:不支持window.opener,
父窗口通过showModalDialog(url,para,feature)第二个参数para传参数给子窗口,
子窗口通过window.dialogArguments获得父窗口穿过来的东西。及获得传过来的的二个参数
子窗口通过获得父窗口的东东。
如:这里传父页面的的window过去
父页面:showModalDialog(url,window,feature)
子页面:var name = window.ElementById("userName").value;得到父页面的控件。
var name = window.dialogArguments.fresh();调
用父页面的方法。
这里的window.dialogArguments就相当于父页面的window,它是通过showModalDialog方法的第二个参数window传过来的,
当然也可以传数组或其它变量。
showModalDialog(url,[1,2,3],feature) //父页面传一个数组给子窗口
showModalDialog(url,window,feature) //父页面把自己的window参数传给子窗口
================================================================================================================================================================
window.open 只打开一个窗口是将
js方法
oNewWindow  =  window  .  open  (  sURL  ,  sName  ,  sFeatures  ,  bReplace  )   
参数: 
sUrl    :  可选项。字符串(String)。指定要被加载的HTML文档的  URL  地址。假如无指定值,则  about:blank  的新窗口会被显示。   
sName    :  可选项。字符串(String)。  指定打开的窗口的名字。这个名字可以用于  form  或  a  对象的  TARGET  属性。此名字也可以使用下列通用名称:  _media    :  IE6.0    在浏览器左边的媒体面板内打开  sUrl  。   
_blank    :    在新窗口中打开  sUrl  。   
_parent    :    在当前框架的父框架内打开。假如当前框架无父框架,此参数值等同于  _self  。   
_search    :  IE5.0    在浏览器左边的搜索面板内打开  sUrl  。   
_self    :    sUrl  在当前窗口中打开,覆盖当前文档。   
_top    :    在所有框架之外的最顶层窗口中打开  sUrl  。假如当前窗口无框架结构,此参数值等同于  _self  。   
sFeatures    :  可选项。字符串(String)。  指定窗口装饰样式。使用下面的值。多个之间用逗号隔开。只有当新的浏览器窗口被建立时,此参数的设置才会发生作用。  channelmode  =  {  yes  |  no  |  1  |  0  }      指定是否将窗口显示为频道模式。默认值为  no  。   
directories  =  {  yes  |  no  |  1  |  0  }      指定是否显示「链接」按钮。默认值为  yes  。   
fullscreen  =  {  yes  |  no  |  1  |  0  }      指定是否以全屏方式显示窗口。默认值为  no  。要小心使用全屏模式,因为这种模式会隐藏浏览器窗口的标题栏和菜单。如果没有在页面内提供关闭窗口的功能,用户可以使用  ALT+F4  快捷键关闭窗口。   
height  =  number      设置窗口的高度。最小值为  100  。   
left  =  number      设置窗口左上角相对于桌面的横坐标。单位为像素(  px  )。   
width  =  number      设置窗口的宽度。最小值为  100  。   
top  =  number      设置窗口左上角相对于桌面的纵坐标。单位为像素(  px  )。     
location  =  {  yes  |  no  |  1  |  0  }      设置是否显示浏览器窗口的地址栏。默认值为  yes  。   
menubar  =  {  yes  |  no  |  1  |  0  }      设置是否显示浏览器窗口的菜单栏。默认值为  yes  。   
resizable  =  {  yes  |  no  |  1  |  0  }      设置窗口是否允许被用户改变尺寸。默认值为  yes  。   
scrollbars  =  {  yes  |  no  |  1  |  0  }      设置窗口是否可以具有滚动条。默认值为  yes  。   
status  =  {  yes  |  no  |  1  |  0  }      设置是否显示浏览器窗口的状态栏。默认值为  yes  。   
titlebar  =  {  yes  |  no  |  1  |  0  }      设置是否显示浏览器窗口的标题栏。除非调用程序是HTML应用程式(  HTA  )或被信任的对话框,否则此参数将被忽略。默认值为  yes  。   
toolbar  =  {  yes  |  no  |  1  |  0  }      设置是否显示浏览器窗口的工具条。默认值为  yes  。   
bReplace    :  可选项。布尔值(Boolean)。false  |  true  false    :  新打开的文档覆盖历史列表里的当前文档。   
true    :  文新打开的文档被简单的添加到历史列表的最后。   
返回值: 
oNewWindow    :  对象(Element)。返回对新的  window  对象的引用。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。