js 父子窗口(一)

来源:互联网 发布:syslog服务器软件下载 编辑:程序博客网 时间:2024/06/05 15:53

一、Javascript弹出子窗

(1) window象的open()方法,open()方法将会生一个新的window窗口

其用法

window.open(URL,windowName,parameters);


URL: 描述要打开的窗口的URL地址,如何不打开任何网

windowName:描述被打开的窗口的民称,可以使用'_top''_blank'等内建名称,里的名称跟<a href="..." target="...">里的target属性是一的。

parameters:描述被打开的窗口的参数,或者貌,其包括窗口的各个属性,及要入的参数


例如:

打开一个 400 x 100 的干的窗口:

open('','_blank','width=400,height=100,menubar=no,toolbar=no,

location=no,directories=no,status=no,scrollbars=yes,resizable=yes')


也可以这样写: var newWindow = open('','_blank');


参数明如下:

top=# 窗口部离开屏幕部的像素数

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

width=# 窗口的

height=# 窗口的高度

menubar=... 窗口有没有菜,取yesno

toolbar=... 窗口有没有工具条,取yesno

location=... 窗口有没有地址,取yesno

directories=... 窗口有没有接区,取yesno

scrollbars=... 窗口有没有滚动条,取yesno

status=... 窗口有没有状态栏,取yesno

resizable=... 窗口给调整大小,取yesno

 

(2) javascript中除了通open()方法建立window实现弹出窗口外,可以通建立对话框的方式出窗口

如:

alert(""); //出信息提示对话

confirm(""); //出信息确认对话

prompt(""); //具有交互性对话

但是,上述实现出窗口具有的功能较为单一,只能完成较为简单的功能。于需要在对话框中示多个数据信息,甚至是HTML控件就无能力了

 

(3) 使用模态对话实现对话框需

javascript的内建方法中有一方法可以实现过对话HTML内容,

也就是可以通过创对话框的方式来完成建窗口象所能完成的功能。

包括建模态对话框和非模态对话框两种。

实现方法

//建模对话

window.showModalDialog(sURL,vArguments,sFeatures)


//建非模态对话

window.showModelessDialog(sURL,vArguments,sFeatures)


其区在于:

showModelessDialog()打开窗口,不必用window.close()去关它,当以非模方式[IE5]打开 打开对话的窗口仍可以行其他的操作,即对话框不是最上面的焦点,当打开它的窗口URL变时它自。而模IE4]方式的对话框始有焦点(焦点不可移走,直到它关)。模态对话框和打开它的窗口相系,因此我打开另外的窗口,他接关系依然保存,并且藏在活窗口的下面。 showModeDialog()不然。



参数明:

sURL:必参数,型:字符串。用来指定对话框要示的文档的URL

vArguments:可参数,型:体。用来向对话传递参数。传递的参数型不限,包括数等。对话window.dialogArguments来取得传递进来的参数。

sFeatures参数,型:字符串。用来描述对话框的外等信息,可以使用以下的一个或几个,用分“;”隔开。



dialogHeight对话框高度不小于100pxIE4dialogHeightdialogWidth 位是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 }

入参数:

要想对话传递参数,是通vArguments传递的。型不限制,于字符串型,最大4096个字符。也可以传递对


例如:

var newWin=window.showModalDialog(url,window,'dialogHeight:500px, dialogLeft:100px, dialogTop:100px,dialogWidth:300px, status:0, edge:sunken');

newWin.open();


与使用window.open()方法建窗口相比,模方法建窗口的区在于有模方法建的窗口后将不能操作父窗口.

 

二、子窗口与父窗口

(1) 使用window.open()建的窗口与父窗口通

可以在子窗口面中通window.opener取父窗口象,取之后子窗口便可以父窗口行刷新,传值等操作

如:

window.opener.location.reload(); //子窗口刷新父窗口

window.opener.location.href //取父窗口href

window.opener.locaiton.pathname //取父窗口路径


//刷新父

window.location.href=window.location.href ; //重新定位父

window.location.reload;

(2)  模窗口与父窗口通

使用showModelDialog(),showModelessDialog()方法建的子窗口想与父窗口通信,不能通window.opener取父窗口象。实现通信,必建模子窗口向子窗口入父窗口

实现方式


在父窗口中:

var newWin=window.showModelDialog(url,window,'');

newWin.open();


参数window即是父窗口


在子窗口中:


需首先取父窗口象,然后才能使用父窗口象。由于父窗口象是在

子窗口过传入参数的方式入的,因此,在子窗口中也只能通过获取窗口参数的方式取父窗口象。取方式如


var parent=widnow.dialogArguments

parent便是父窗口


0 0
原创粉丝点击