父窗口和子窗口之间方法调用 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小时内删除。
发表评论