showModalDialog 建立有模式窗口

来源:互联网 发布:老婆过生日 知乎 编辑:程序博客网 时间:2024/04/28 06:20
转自 http://v2.djasp.net/Static/cn/1069.stm

语法:
vReturnValue = window . showModalDialog ( sURL , vArguments , sFeatures )
参数:
sURL:必选项。

字符串(String)。指定要载入和显示的 URL 。
vArguments:可选项。指定供显示文档时使用的变量。利用这个参数可以传递任何类型的值,包括包含多个值得的数组。对话框可以通过调用程序从 window 对象的 dialogArguments 属性提取这些值。
sFeatures:可选项。字符串(String)。指定对话框的窗口装饰。使用下面的值。多个之间用分号隔开。
dialogHeight : sHeight   设置对话框的高度。
dialogLeft : sXPos   设置对话框左上角相对于桌面的横坐标。
dialogTop : sYPos   设置对话框左上角相对于桌面的纵坐标。
dialogWidth : sWidth   设置对话框的宽度。
center : yes | no | 1 | 0 | on | off   指定对话框是否显示于桌面正中。默认值为 yes 。
dialogHide : yes | no| 1 | 0 | on | off   指定当打印或打印预览时对话框是否隐藏。仅仅当对话框是由被信任的程式打开的时候此参数才可用。默认值为 no 。
edge : sunken | raised   指定对话框窗口边框样式为凹下还是凸起的。默认值为 raised 。
help : yes | no | 1 | 0 | on | off   指定对话框是否显示上下文相关的帮助图标。默认值为 yes 。
resizable : yes | no | 1 | 0 | on | off   指定对话框是否可以被用户改变尺寸。默认值为 no 。
scroll : yes | no | 1 | 0 | on | off   指定对话框是否显示滚动条。默认值为 yes 。
status : yes | no | 1 | 0 | on | off   指定对话框是否显示状态条。对于不被信任的对话框默认值为 yes 。对于被信任的对话框默认值为 no 。
unadorned : yes | no | 1 | 0 | on | off   指定对话框是否显示 chrome 样式边框。仅仅当对话框是由被信任的程式打开的时候此参数才可用。默认值为 no 。
返回值:
vReturnValue :
返回等同于打开的对话框窗口( window )的 returnValue 属性值的值。

说明:建立模式对话框显示指定的文档。
   模式对话框被打开后就会始终保持输入焦点。除非对话框被关闭,否则用户无法切换窗口。
   因为无模式对话框能够包含链接指向不同域名下的资源,请不要使用 vArguments 参数传递用户可能认为私有的信息。在模式对话框内部 vArguments 参数可以被模式对话框使用 window 对象的 dialogArguments 属性提取和使用。假如 vArguments 参数被定义为字符串(String),其可以被传递到无模式对话框的最大长度为 4096 个字符。超出的会被截去。
   在 IE4+ 中,你可以禁止对话框窗口的滚动条。要关闭滚动条,可以设置对话框窗口内文档的 body 对象的 SCROLL 属性值为 false ,或是从可信任的程式里调用对话框。
   在 IE5+ 中,你可以通过使用 sFeatures 参数中的 status 和 resizable 值控制模式对话框。你可以用和使用样式表同样的方法设置默认的字体设置。例如: "font:3; font-size:4" 。使用多种字体属性,你可以定义多种字体值。
   在 Internet Explorer 4.0 中, dialogHeight 和 dialogWidth 的缺省单位为 em ,而在 Internet Explorer 5.0 及以上版本中默认单位为 px 。其值可以是整数(Integer)或浮点数(Floating-point number)。因为绝对长度单位(cm, mm, in, pt, pc, px)和相对长度单位(em , ex)的差别, 要想保证预期的显示结果,在设计时应使用 px 单位。
倘若对话框是可以被改变尺寸的,虽然用户的手动改变可以达到更小的值,但是设计时你可以指定的 dialogHeight 的最小值为 100px 。你可以通过指定 dialogLeft 或 dialogTop 的值来取消对话框显示的居中。即使 center 默认值为 yes
示例代码:
<script>
var vDialog=null;
function rdl_doDialog(){
vDialog=showModalDialog("demo.html",window,"status:no;resizable:yes;dialogHeight:210px;dialogWidth:360px;unadorne:yes");
if (vDialog != null) vDialog.idDialogInput.value=idOpenerInput.value;
}
</script>
<input type=text id=idOpenerInput value="传递的文字"><br><br>
<input type=button onclick="rdl_doDialog();" value="建立对话框">
---- 对话框页面的代码 ----
<script>
function window.onunload() {
dialogArguments.vDialog=null;
}
</script>
<input type=text id=idDialogInput><br><br>
<input type=button onclick="dialogArguments.idOpenerInput.value=idDialogInput.value;" value="传递文字">
<input type=button onclick="window.close();" value="关闭">  
原创粉丝点击