父窗口 ——opener OR parent

来源:互联网 发布:奥斯卡级核潜艇知乎 编辑:程序博客网 时间:2024/05/10 22:40

Js中窗口之间交互用到的父窗口有两两种表示方式:openerParent

他们有什么区别呢?

一、定义

opener即谁打开我的,比如A页面利用window.open弹出了B页面窗口,那么A页面所在窗口就是B页面的opener,在B页面通过opener对象可以访问A页面。

parent表示父窗口,比如一个A页面利用iframeframe调用B页面,那么A页面所在窗口就是B页面的parent

注意:在JS中,window.opener只是对弹出窗口的母窗口的一个引用。比如:a.html中,通过点击按钮等方式window.open出一个新的窗口b.html。那么在b.html中,就可以通过window.opener来引用a.html,包括a.htmldocument等对象达到操作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
原创粉丝点击