首页 > 代码库 > JavaScript 弹出窗口总结

JavaScript 弹出窗口总结

1: window.open

<!--

window.open(‘page.html‘, ‘newwindow‘, ‘height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no‘)

//写成一行

-->

参数解释:

window.open 弹出新窗口的命令;

‘page.html‘ 弹出窗口的文件名;

‘newwindow‘ 弹出窗口的名字(不是文件名),非必须,可用空‘‘代替;

height=100 窗口高度;

width=400 窗口宽度;

top=0 窗口距离屏幕上方的象素值;

left=0 窗口距离屏幕左侧的象素值;

toolbar=no 是否显示工具栏,yes为显示;

menubar,scrollbars 表示菜单栏和滚动栏。

resizable=no 是否允许改变窗口大小,yes为允许;

location=no 是否显示地址栏,yes为允许;

status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许;

 

2: showModalDialog()、showModelessDialog()

(1) window.showModalDialog() 模态对话框

模态对话框始终有焦点(焦点不可移走,直到它关闭)。

 

(2) window.showModelessDialog() 非模态对话框

由于是对话框,因此它并没有一般用window.open()打开的窗口的所有属性。

不必用window.close()去关闭它,

当以非模态方式[IE5]打开时,打开对话框的窗口仍可以进行其他的操作,

即对话框不总是最上面的焦点,当打开它的窗口URL改变时,它自动关闭。

 

(3) 使用方法如下:

 vReturnValue = http://www.mamicode.com/window.showModalDialog(sURL [, vArguments] [, sFeatures])

 vReturnValue = http://www.mamicode.com/window.showModelessDialog(sURL [, vArguments] [, sFeatures])

参数说明:

 sURL

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

 vArguments

 可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数组等。

 对话框通过window.dialogArguments 来获取传递进来的参数, 通过window.returnValue 来进行回传参数。

 

 sFeatures

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

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

 dialogWidth: 对话框宽度。

 dialogLeft: 距离桌面左的距离。

 dialogTop: 离桌面上的距离。

 center: ...{yes | no | 1 | 0 }:窗口是否居中,默认yes,但仍可以指定高度和宽度。

 help: ...{yes | no | 1 | 0 }:是否显示帮助按钮,默认yes。

 resizable: ...{yes | no | 1 | 0 } [IE5+]:是否可被改变大小。默认no。

 status: ...{yes | no | 1 | 0 } [IE5+]:是否显示状态栏。默认为yes[ Modeless]或no[Modal]。

 scroll:...{ yes | no | 1 | 0 | on | off }:指明对话框是否显示滚动条。默认为yes。

 

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

 dialogHide:...{ yes | no | 1 | 0 | on | off }:在打印或者打印预览时对话框是否隐藏。默认为no。

 edge:...{ sunken | raised }:指明对话框的边框样式。默认为raised。

 unadorned:...{ yes | no | 1 | 0 | on | off }:默认为no。

 

3. 父窗口刷新问题

(1) 用window.open()打开的窗口

 window.opener.location.reload();

 

(2) 用showModalDialog()打开的窗口

 window.parent.dialogArguments.document.execCommand(‘Refresh‘);

 

JavaScript 弹出窗口总结