父窗口 ——opener OR parent
来源:互联网 发布:奥斯卡级核潜艇知乎 编辑:程序博客网 时间:2024/05/10 22:40
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来引用a.html,包括a.html中document等对象达到操作a.html内容的目的。假如这个引用失败,那么将返回null。所以在调用opener的对象前,要先判断对象是否为null,否则会出现“对象为空或者不存在”的JS错误。
二、示例
//父页面:<html>< body>< form. name=form1>< input type=“tex”t id="name" name=“test” >< input type="button" >< /form>< /body>< /html>
JS代码
//父窗口JS代码:document.onclick = function () { window.open(open('zichuangkou.html','baidu');//打开子页面,命名为baidu}子窗口的JS代码:document.onclick = function () { opener.document.getElementById("name").value=('子窗口');//通过子窗口操作父窗口,在父窗口中写“子窗口”}//Opener__指的是打开当前窗口的窗口(父窗口),Self——当前窗口
0 0