showModalDialog使用例子,父窗口向子窗口传递值,子窗口设置父窗口的值,子窗口关闭的时候返回值到父窗口



在JavaScript中,`showModalDialog`是一个非常有用的函数,它允许我们打开一个新的浏览器窗口或对话框,并与父窗口进行交互。这个功能在开发过程中经常用于创建弹出式表单、确认对话框或者需要用户输入信息的场景。让我们深入探讨一下`showModalDialog`的使用方法及其相关知识点。 `showModalDialog`的基本语法如下: ```javascript var returnValue = window.showModalDialog(url, arguments, features); ``` - `url`:表示要打开的页面URL,可以是相对路径或绝对路径。 - `arguments`:可选参数,可以传递给新窗口的数据对象,通常用于向子窗口传递值。 - `features`:可选参数,定义新窗口的特性,如宽度、高度、位置等,用逗号分隔。 **父窗口向子窗口传递值:** 在`arguments`参数中,我们可以传递一个对象或者字符串给子窗口。例如,如果我们有一个对象`data`,可以这样调用: ```javascript var dialog = window.showModalDialog("dialog.html", data, "width=400,height=300"); ``` 在子窗口中,可以通过`window.dialogArguments`访问这些传递的值。 ```javascript var parentData = window.dialogArguments; ``` **子窗口设置父窗口的值:** 子窗口可以通过`window.opener`属性访问父窗口的对象和方法。但是,由于同源策略的限制,只有当子窗口与父窗口位于同一域时,才能修改父窗口的值。例如,子窗口可以这样设置父窗口的变量: ```javascript window.opener.someVariable = "新值"; ``` **子窗口关闭时返回值到父窗口:** 当子窗口关闭时,可以通过`window.returnValue`属性设置返回值。父窗口在调用`showModalDialog`后会得到这个值。例如,在子窗口中: ```javascript window.returnValue = "返回的信息"; window.close(); ``` 而父窗口可以通过`returnValue`属性获取这个值: ```javascript var result = dialog.returnValue; ``` 需要注意的是,`showModalDialog`在现代浏览器中的支持度并不一致,尤其是在一些移动设备上。随着Web标准的发展,`showModalDialog`可能被更现代的API如`dialog`元素或`window.open`配合`window.postMessage`替代。`window.postMessage`允许跨窗口通信,即使它们不在同一个源下,这为更复杂的应用场景提供了更大的灵活性。 `showModalDialog`是一个在特定场景下仍具实用价值的函数,尤其对于处理简单的对话框和数据交换。然而,考虑到兼容性和未来发展趋势,开发者应谨慎使用,或者寻找更现代的解决方案来替换。

































- 1

- 粉丝: 222
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 大数据在复杂城市系统中的应用与发展
- 机器学习(预测模型):全球半导体公司按市值排名的数据集
- 讲课与实验相融合的单片机原理及应用课程教学改革与实践.docx
- 电网调度自动化系统基础介绍.doc
- 基于用户体验视角下的网络新闻专题制作研究.docx
- 单片机原理附接口技术课程设计(彩灯控制器设计).doc
- ARMLinux内核.ppt
- 机器学习(预测模型):多家报纸新闻文章的数据集
- 电子科大软件实验:离散系统的转移函数-零、极点分布和模拟.doc
- Assembly-汇编语言资源
- 计算机数据库技术在信息管理中的应用.docx
- 计算机网络背景下数字媒体的应用研究.docx
- 工程技术领域机械制造及自动化的应用研究.docx
- 网络计划技术PERT.ppt
- [信息与通信]第2章-定时器中断系统和串行通讯.ppt
- 我国互联网汽车租赁行业用户规模有所回升神州租车占比较大.docx



- 1
- 2
- 3
- 4
- 5
- 6
前往页