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 避免闭包引发的问题
Mar 17 Javascript
Firebug 字幕文件JSON地址获取代码
Oct 28 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
Mar 26 Javascript
AngularJS基础 ng-csp 指令详解
Aug 01 Javascript
微信小程序scroll-view实现横向滚动和上拉加载示例
Mar 06 Javascript
基于BootStrap的前端分页带省略号和上下页效果
May 18 Javascript
three.js实现3D模型展示的示例代码
Dec 31 Javascript
详解vue-cli 脚手架 安装
Apr 16 Javascript
BootstrapValidator实现表单验证功能
Nov 08 Javascript
Vue filter 过滤当前时间 实现实时更新效果
Dec 20 Javascript
实例分析javascript中的异步
Jun 02 Javascript
javascript this指向相关问题及改变方法
Nov 19 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
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
2013/06/24 PHP
smarty模板局部缓存方法使用示例
2014/06/17 PHP
php实现的短网址算法分享
2014/06/20 PHP
php制作动态随机验证码
2015/02/12 PHP
php定义参数数量可变的函数用法实例
2015/03/16 PHP
Yii2验证器(Validator)用法分析
2016/07/23 PHP
php获取访问者浏览页面的浏览器类型
2017/01/23 PHP
laravel实现于语言包的完美切换方法
2019/09/29 PHP
IE与Firefox下javascript getyear年份的兼容性写法
2007/12/20 Javascript
JS中动态添加事件(绑定事件)的代码
2011/01/09 Javascript
js动态为代码着色显示行号
2013/05/29 Javascript
浅析js封装和作用域
2013/07/09 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
2014/05/11 Javascript
jQuery插件实现可输入和自动匹配的下拉框
2016/10/24 Javascript
DatePickerDialog 自定义样式及使用全解
2019/07/09 Javascript
js中console在一行内打印字符串和对象的方法
2019/09/10 Javascript
使用axios请求接口,几种content-type的区别详解
2019/10/29 Javascript
小程序分享链接onShareAppMessage的具体用法
2020/05/22 Javascript
vuex实现购物车的增加减少移除
2020/06/28 Javascript
vue中是怎样监听数组变化的
2020/10/24 Javascript
ant-design-vue 时间选择器赋值默认时间的操作
2020/10/27 Javascript
Anaconda多环境多版本python配置操作方法
2017/09/12 Python
python生成ppt的方法
2018/06/07 Python
python接口调用已训练好的caffe模型测试分类方法
2019/08/26 Python
快速解决docker-py api版本不兼容的问题
2019/08/30 Python
python实现超市商品销售管理系统
2019/11/22 Python
基于torch.where和布尔索引的速度比较
2020/01/02 Python
Python多线程threading join和守护线程setDeamon原理详解
2020/03/18 Python
推荐技术人员一款Python开源库(造数据神器)
2020/07/08 Python
python在协程中增加任务实例操作
2021/02/28 Python
墨尔本复古时尚品牌:Dangerfield
2018/12/12 全球购物
如果Session Bean得Remove方法一直都不被调用会怎么样
2012/07/14 面试题
工程承包协议书
2014/04/22 职场文书
政治学求职信
2014/06/03 职场文书
React Hook用法示例详解(6个常见hook)
2021/04/28 Javascript
pandas中关于apply+lambda的应用
2022/02/28 Python