JavaScript showModalDialog 父子窗口传值完整指南
本文详细介绍JavaScript中showModalDialog方法的完整用法,包括必选与可选参数的配置。重点讲解如何通过arguments向子窗口传递任意类型数据,以及如何利用window.returnValue将结果返回给父窗口,附带parent.htm与modal.htm的完整代码示例。
showModalDialog方法基本语法与参数详解
showModalDialog方法的具体调用方式如下
var returnValue = window.showModalDialog(url [, arguments] [,features]);
url为必选参数,类型为字符串,用于指定对话框需显示的文档地址
arguments为可选参数,类型为变体,用于向对话框传递数据。传递的参数类型不受限制,可包含数组等复杂结构,子窗口通过window.dialogArguments属性获取传入的参数
features为可选参数,类型为字符串,用于定义对话框的外观属性。各属性之间使用分号“;”分隔
dialogHeight:设定对话框高度,最小值为100px 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
父子窗口数据传递与返回值获取实例
参数传递机制说明
1. 向对话框传递参数需通过arguments进行,类型不限。字符串类型最大支持4096个字符,同时也支持传递对象。示例文件为parent.htm
代码如下
<script>
var obj = new Object();
obj.name="justflyhigh.com";
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>
var result =window.showModalDialog("modal.htm",,"dialogWidth=200px;dialogHeight=100px");
alert(result);
</script>modal.htm
代码如下
<script>
window.returnValue="https://www.jb51.net";
</script>什么时候该用JS构造器:与工厂模式、字面量的选择对比
2026-11-05 16:18:22
推荐几款轻量级JS照片墙开源库及对比
2026-11-05 15:56:19
JavaScript递归写法有哪些常见陷阱及避免方法
2026-11-05 14:53:38
JS数组浅拷贝与深拷贝怎么选?场景与方法总结
2026-11-05 14:41:02
p5.js 中 setup() 和 draw() 函数的执行机制详解
2026-11-05 12:32:38
