首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

子窗口与父窗口其间的传值

2012-10-07 
子窗口与父窗口之间的传值/*子窗口与父窗口之间的传值*/window对象的open()方法,open()方法将产生一个新的

子窗口与父窗口之间的传值
/*子窗口与父窗口之间的传值*/
window对象的open()方法,open()方法将产生一个新的window窗口对象
用法 : window.open(URL,windowName,parameters);
URL:描述要打开的窗口的URL地址,如何为空则不打开任何任何网页
windowName:描述被打开的窗口的名称,可以使用“_top”、"_blank"等内建名称这
这里的名称和<a href="" target=""/>target里的属性一样!
parameters:描述被打开的窗口的参数值,或者说是样貌其包括页面的属性以及传入的参数
参数如下:
top=# 窗口顶部离开屏幕顶部的像素数

left=# 窗口左端离开屏幕左端的像素数

width=# 窗口的宽度

height=# 窗口的高度

menubar=... 窗口有没有菜单,取值yes或no

toolbar=... 窗口有没有工具条,取值yes或no

location=... 窗口有没有地址栏,取值yes或no

directories=... 窗口有没有连接区,取值yes或no

scrollbars=... 窗口有没有滚动条,取值yes或no

status=... 窗口有没有状态栏,取值yes或no
HTML中的单一对话框还有:
alert();信息提示窗口
confirm();信息确认框
prompt();具有交互性
以上只能实现单一的功能;
使用模态对话框就可以实现复杂的对话框需求:
模态分为模态和非模态
模态:
window.showModalDialog(sURL,vArguments,sFeatures)
非模态:
window.showModalessDialog(sURL,vArguments,sFeatures)
其区别在于:
用showModelessDialog()打开窗口时,不必用window.close()去关闭
sURL:用来指定对话框要显示的文档的URL;
vArguments:用来向对话框传递参数。传递的参数类型不限,包括数组等。
对话框通过window.dialogArguments来取得参数的值(最大传值4096个字符)可以传递任意类型
sFeatures:是用来描述对话框的外观的,多个参数用“;”分号分隔

dialogHeight:对话框高度

不小于100px,IE4中dialogHeight和dialogWidth 默认的单位是em,而IE5中是px,为方便其见,在定义modal方式的对话框时,用px做单位。

dialogWidth: 对话框宽度。

dialogLeft: 距离桌面左的距离。

dialogTop: 离桌面上的距离。

center: 窗口是否居中

默认yes,但仍可以指定高度和宽度,取值范围{yes | no | 1 | 0 }。

help: 是否显示帮助按钮

默认yes,取值范围 {yes | no | 1 | 0 }。

 resizable: 是否可被改变大小。

默认no,取值范围 {yes | no | 1 | 0 } [IE5+]。

 status: 是否显示状态栏。

默认为yes[ Modeless]或no[Modal],

取值范围{yes | no | 1 | 0 } [IE5+]。

scroll:指明对话框是否显示滚动条。

默认为yes,取值范围{ yes | no | 1 | 0 | on | off }。

还有几个属性是用在HTA中的,在一般的网页中一般不使用。

dialogHide:在打印或者打印预览时对话框是否隐藏。

默认为no,取值范围{ yes | no | 1 | 0 | on | off }。

edge:指明对话框的边框样式。

默认为raised,取值范围{ sunken | raised }。

unadorned:默认为no,取值范围{ yes | no | 1 | 0 | on | off }。

与window.open相比 用模态方法创建的窗口不能操作父窗口

【1】使用window.open与父窗口进行通信
可以在子窗口页面中通过window.opener来获取父窗口对象,获取之后可以对父窗口进行刷新,传值等操作如:
window.opener.location.reload()//子窗口刷新父窗口
window.opener.location.href//获取父窗口的href
window.opener.location.pathname//获取父窗口路径名
【2】模态窗口与父窗口的通信
通过使用showModelDialog()和showModelessDialog()不能通过window.opener来获取父页面对象;
父窗口应为:
var newWin = window.showModelDialog(url,window,"");
newWin.open():
这里的window就是指的你窗口
在子页面中:
var parent = window.dialogArguments;
这里的parent就为父窗口对象
例如:通过子窗口提交父窗口的form
parent.document.form1.action = "";
parent.submit();
//刷新父窗口
parent.location.reload();
在模态窗口中如果想实现子窗口向父窗口传值可以使用
window.returnValue完成
父窗口就把showModelDialog()方法赋值给一个变量即可

热点排行