基本介绍:
showModalDialog() (IE 4+ 支持)
showModelessDialog() (IE 5+ 支持)
window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框。
window.showModelessDialog()方法用来创建一个显示HTML内容的非模态对话框。
使用方法:
vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures])
vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures])
参数说明:
sURL--
必选参数,类型:字符串。用来指定对话框要显示的文档的URL。
vArguments--
可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。
sFeatures--
可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。
1.dialogHeight :对话框高度,不小于100px,IE4中dialogHeight 和 dialogWidth 默认的单位是em,而IE5中是px,为方便其见,在定义modal方式的对话框时,用px做单位。
2.dialogWidth: 对话框宽度。
3.dialogLeft: 离屏幕左的距离。
4.dialogTop: 离屏幕上的距离。
5.center: {yes | no | 1 | 0 }:窗口是否居中,默认yes,但仍可以指定高度和宽度。
6.help: {yes | no | 1 | 0 }:是否显示帮助按钮,默认yes。
7.resizable: {yes | no | 1 | 0 } [IE5+]:是否可被改变大小。默认no。
8.status: {yes | no | 1 | 0 } [IE5+]:是否显示状态栏。默认为yes[ Modeless]或no[Modal]。
9.scroll:{ yes | no | 1 | 0 | on | off }:指明对话框是否显示滚动条。默认为yes。
下面几个属性是用在HTA中的,在一般的网页中一般不使用。
10.dialogHide:{ yes | no | 1 | 0 | on | off }:在打印或者打印预览时对话框是否隐藏。默认为no。
11.edge:{ sunken | raised }:指明对话框的边框样式。默认为raised。
12.unadorned:{ yes | no | 1 | 0 | on | off }:默认为no。
参数传递:
1.要想对话框传递参数,是通过vArguments来进行传递的。类型不限制,对于字符串类型,最大为4096个字符。也可以传递对象,例如:
-------------------------------
parent.htm
<script>
var obj = new Object();
obj.name="51js";
window.showModalDialog("modal.htm",obj,"dialogWidth=200px;dialogHeight=100px");
</script>
modal.htm
<script>
var obj = window.dialogArguments
alert("您传递的参数为:" + obj.name)
</script>
-------------------------------
2.可以通过window.returnValue向打开对话框的窗口返回信息,当然也可以是对象。例如:
------------------------------
parent.htm
<script>
str =window.showModalDialog("modal.htm",,"dialogWidth=200px;dialogHeight=100px");
alert(str);
</script>
modal.htm
<script>
window.returnValue="http://www.51js.com";
</script>
用window.showModalDialog 或者window.showModelessDialog打开一个模式窗口后,和父窗口的一些交互问题。
要进行交互操作的前提,在调用showModalDialog或者showModelessDialog方法的时候,第二个参数传window,如:
window.showModelessDialog('filename.htm',window,'dialogWidth=200px;dialogHeight=250px;')
接下来,就是取得父窗口的一些数据和方法,这是经常会用的,父窗口取子窗口的参数一般通过returnValue就可以搞定了~
//取得父窗口的JS变量 var
window.dialogArguments.var;
//获得父窗口的对象和属性
window.dialogArguments.form1.name.value ;
//调用父窗口的方法 fun
window.dialogArguments.fun() ;
但是有个问题,在子窗口中的事件响应无法调用父窗口的方法,
<button onClick='window.dialogArguments.fun()'>调父窗口方法</button>
不知为何,执行上面的方法的时候,窗口会停止响应
分享到:
相关推荐
本篇文章将深入探讨`showModalDialog`的参数使用,以及如何在子父窗口之间传递数据。 `showModalDialog`函数的基本语法如下: ```javascript window.showModalDialog(url, [startNode], [features]); ``` - `url`...
JavaScript中的`showModalDialog`函数是一个专用于创建模态对话框的方法,主要在IE浏览器上得到广泛支持(从IE4开始)。模态对话框意味着用户必须先关闭对话框才能与父窗口进行交互,这在需要用户输入信息或确认操作...
### showModalDialog和showModelessDialog使用心得:深入解析与实践 在Web开发中,`showModalDialog` 和 `showModelessDialog` 是两种用于创建弹出窗口的方法,它们各自具有独特的特性和应用场景。本文将详细解析这...
在此,我们将深入探讨`showModalDialog`的用法、参数以及它在现代Web开发中的地位。 `showModalDialog`的基本语法如下: ```javascript var returnVal = window.showModalDialog(url, startingValue, features); `...
#### 二、参数详解 1. **URL**:这是必须指定的参数,表示要打开的新窗口的地址或HTML文档的路径。 2. **Arguments**:这是一个可选参数,可以向新窗口传递数据。在新窗口中,可以通过`window.dialogArguments`...
在这个特定的情况下,`escape` 函数成功地解决了问题,使得参数能够完整地传递到`window.showModalDialog`中。 需要注意的是,`escape` 函数并不适用于所有情况,因为它不会编码某些字符,比如字母、数字和一些特定...
#### 二、ShowModalDialog详解 **1. 功能介绍** `ShowModalDialog` 是一个非标准但广泛使用的函数,用于打开模态对话框。模态对话框是指打开后会阻止用户与主页面进行任何交互的窗口,直到该对话框被关闭为止。 *...
在JavaScript中,`showModalDialog`是一个非常有用的函数,它允许开发者创建模态对话框来增强用户交互体验。模态对话框是一种特殊的窗口,当它打开时,用户必须先关闭这个对话框才能继续与主窗口进行交互。这与非...
#### 特征参数详解 - **dialogHeight**: 对话框的高度,默认单位为像素(px),对于模态对话框也可以使用 em 单位。 - **dialogWidth**: 对话框的宽度,默认单位为像素(px)。 - **dialogLeft**: 对话框在屏幕上的...
【window.showModalDialog() 方法详解】 在Web开发中,JavaScript提供了两种对话框方式来与用户交互,即模态对话框和非模态对话框。本文将重点介绍模态对话框的使用方法`window.showModalDialog()`。 模态对话框是...
`window.showModalDialog(url, arguments, features)`这个函数有三个参数: 1. `url`:表示要打开的子页面的URL。 2. `arguments`:可选参数,可以传递给子页面的数据,通常是一个对象或字符串。 3. `features`:可...
### JS弹出对话框 `window.showModalDialog()` 的使用与详解 #### 一、`window.showModalDialog()` 概述 在JavaScript中,`window.showModalDialog()` 是一个非标准但广泛使用的API,用于创建模态对话框。模态...
#### 三、参数详解 - **`sFeatures`**:这是一个字符串,包含了一个或多个描述对话框特性的选项,每个选项之间用分号(`;`)分隔。具体选项包括但不限于: - **`dialogHeight`**:设置对话框的高度,最小值为100...
一个是window.showModalDialog()方法,后者是存在父子关系的一种弹出窗口,只有子窗关闭,父窗口才激活,并且可以传送参数和返回值。正好又温习一遍用法,顺便在此记录过程中遇到的问题。 基本介绍: ...
#### sFeatures 参数详解 `sFeatures` 参数可以包含以下属性,用分号分隔: 1. **dialogHeight**: 对话框的高度,单位为像素(px)。 2. **dialogWidth**: 对话框的宽度,单位为像素(px)。 3. **dialogLeft**: ...
与`showModalDialog`的参数类似,只是对话框的行为不同。 ### 参数传递 在对话框中传递参数是通过`vArguments`实现的。例如,在父窗口中,可以将一个对象、字符串或其他值赋给`vArguments`,然后在子窗口的...
`showModalDialog`是JavaScript `window`对象的一个方法,它用于打开一个新的模态对话框,与`window.open`相似但有所不同。主要的区别在于,当使用`showModalDialog`打开一个子窗口时,父窗口会失去焦点,用户无法与...
### 使用Window.ShowModalDialog与Window.ShowModelessDialog在JavaScript中的详解 #### 一、引言 在Web开发中,为了实现更加丰富的用户交互体验,开发者经常需要创建模态或非模态对话框来显示特定的信息或者请求...