javascript showModalDialog,open取得父窗口的方法


Posted in Javascript onMarch 10, 2010

通常使用window.open的方式开启新窗口的话
要取得父窗口的控件,可以用window.opener来取得父窗口
然而如果使用showModalDialog的话...却无效
如果有需要的话,需要修改开启的语法以及showModalDialog中的语法
开启语法第2个参数请下self,范例如下
var rc=window.showModalDialog(strURL,self,sFeatures);
然后接着就是呼叫父窗口的语法
var pWindow=window.dialogArguments;
这样就可以取得父窗口的window对象控制了。例如:
window.dialogArguments.document.getElementsByName("processId")[0].value;

js中 opener和parent的区别

opener即谁打开我的,比如A页面利用window.open弹出了B页面窗口,那么A页面所在窗口就是B页面的
opener,在B页面通过opener对象可以访问A页面。
parent表示父窗口,比如一个A页面利用iframe或frame调用B页面,那么A页面所在窗口就是B页面的
parent。
在JS中,window.opener只是对弹出窗口的母窗口的一个引用。比如:
a.html中,通过点击按钮等方式window.open出一个新的窗口b.html。那么在b.html中,就可以通过
window.opener(省略写为opener)来引用a.html,包括a.html的document等对象,操作a.html的内容。
假如这个引用失败,那么将返回null。所以在调用opener的对象前,要先判断对象是否为null,否则会
出现“对象为空或者不存在”的JS错误。

<html> 
<body> 
<form. name=form1> 
<input type=text name=inpu > 
<input type=button > 
</form> 
</body> 
</html>

back2opener.html
<html> 
<body> 
<form. name=form1> 
<input type=text name=inpu > 
<a class=under href=# >添加</a> 
</form> 
</body> 
</html>

window.opener 返回的是创建当前窗口的那个窗口的引用,比如点击了a.htm上的一个链接而打开了
b.htm,然后我们打算在b.htm上输入一个值然后赋予a.htm上的一个id为“name”的textbox中,就可以
写为:
window.opener.document.getElementById("name").value = "输入的数据";
Javascript 相关文章推荐
如何通过javascript操作web控件的自定义属性
Nov 25 Javascript
原生js编写设为首页兼容ie、火狐和谷歌
Jun 05 Javascript
js实现搜索框关键字智能匹配代码
Mar 26 Javascript
详解Layer弹出层样式
Aug 21 Javascript
vue-cli构建项目使用 less的方法
Oct 04 Javascript
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
Apr 17 jQuery
详解使用jest对vue项目进行单元测试
Sep 07 Javascript
微信小程序实现获取用户信息并存入数据库操作示例
May 07 Javascript
swiper4实现移动端导航切换
Oct 16 Javascript
JavaScript观察者模式原理与用法实例详解
Mar 10 Javascript
微信小程序仿通讯录功能
Apr 09 Javascript
Vue向后台传数组数据,springboot接收vue传的数组数据实例
Nov 12 Javascript
ExtJs3.0中Store添加 baseParams 的Bug
Mar 10 #Javascript
js Date自定义函数 延迟脚本执行
Mar 10 #Javascript
js 蒙版进度条(结合图片)
Mar 10 #Javascript
javascript 事件查询综合 推荐收藏
Mar 10 #Javascript
JQuery的html(data)方法与&amp;lt;script&amp;gt;脚本块的解决方法
Mar 09 #Javascript
Jquery替换已存在于element上的event的方法
Mar 09 #Javascript
JQery jstree 大数据量问题解决方法
Mar 09 #Javascript
You might like
跟我学Laravel之路由
2014/10/15 PHP
php简单实现快速排序的方法
2015/04/04 PHP
IE autocomplete internet explorer's autocomplete
2007/06/30 Javascript
在浏览器中获取当前执行的脚本文件名的代码
2011/07/19 Javascript
JS的replace方法详细介绍
2012/11/09 Javascript
jquery实现弹出div,始终显示在屏幕正中间的简单实例
2014/03/08 Javascript
Nodejs学习笔记之Global Objects全局对象
2015/01/13 NodeJs
用js实现放大镜的效果的简单实例
2016/05/23 Javascript
jQuery中使用animate自定义动画的方法
2016/05/29 Javascript
JS在onclientclick里如何控制onclick的执行
2016/05/30 Javascript
javascript深拷贝和浅拷贝详解
2017/02/14 Javascript
JS开发中百度地图+城市联动实现实时触发查询地址功能
2017/04/13 Javascript
vue自定义全局组件(自定义插件)的用法
2018/01/30 Javascript
vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单
2018/09/14 Javascript
PM2自动部署代码步骤流程总结
2018/12/10 Javascript
jQuery实现获取当前鼠标位置并输出功能示例
2019/01/05 jQuery
Javascript数组方法reduce的妙用之处分享
2019/06/10 Javascript
基于JS实现操作成功之后自动跳转页面
2020/09/25 Javascript
[03:55]DOTA2完美大师赛选手传记——LFY.MONET
2017/11/18 DOTA
[48:38]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs Secret
2018/03/31 DOTA
python连接远程ftp服务器并列出目录下文件的方法
2015/04/01 Python
Python面向对象编程之继承与多态详解
2018/01/16 Python
python opencv之SIFT算法示例
2018/02/24 Python
使用Django和Python创建Json response的方法
2018/03/26 Python
python打包exe开机自动启动的实例(windows)
2019/06/28 Python
解决python -m pip install --upgrade pip 升级不成功问题
2020/03/05 Python
Python configparser模块操作代码实例
2020/06/08 Python
Python虚拟环境的创建和包下载过程分析
2020/06/19 Python
世界上最大的在线旅行社新加坡网站:Expedia新加坡
2016/08/25 全球购物
idealfit英国:世界领先的女性健身用品和运动衣物品牌
2017/11/25 全球购物
自荐信不宜过于夸大
2013/11/06 职场文书
绘画专业自荐信
2014/07/04 职场文书
公司领导班子对照材料
2014/08/18 职场文书
运动会加油稿20字
2014/11/15 职场文书
2014年超市员工工作总结
2014/11/18 职场文书
各国货币符号大全
2022/02/17 杂记