`

window.parent与window.opener的区…

 
阅读更多

1、window.parent 是iframe页面调用父页面对象

举例: a.html

<html>
<head><title>A</title></head>
<body>
<form name="form1" id="form1">
<input type="text" name="username"id="username"/>
</form>
<iframe src="b.html"width=100%></iframe>
</body>
</html>

如果我们需要在b.html中要对a.html中的username文本框赋值(就如很多上传功能,上传功能页在ifrmae中,上传成功后把上传后的路径放入父页面的文本框中),我们应该在b.html中写:

<scripttype="text/javascript">
var _parentWin = window.parent;
_parentWin.form1.username.value = "xxxx";

2、window.opener 是 window.open 打开的子页面调用父页面对象

opener:对打开当前窗口的window对象的引用,如果当前窗口被用户打开,则它的值为null。

self代表自身窗口,opener代表打开自身的那个窗口,比如窗口a.html打开窗口b.html。如果靠window.open方法,则对于窗口b.html,self代表b.html自己,而opener代表窗口a.html。

举例:a.html

<input type="text" name="username"id="username"/>
<aonclick="window.open(this.href,'','resizable=yes,width=800,height=600,status');return false"href="b.html">B</a>

如果需要在b.html中对a.html中的表单元素赋值,我们应该在b.html中这么写

<ahref="javascript:try{window.opener.document.getElementByIdx_x('username').contentWindow.
frames[0].document.getElementsByTagName_r('body')[0].innerHTML+='xxx'}catch(e){};window.close();">插入</a>

在后面用window.close关闭b.html



"window.location.href"、"location.href" 当前页面跳转
"parent.location.href":上一级父页面跳转
"top.location.href":顶级页面跳转


连接的时候target的用法了:
_blank:重新打开一个窗口
_parent:父窗口执行重定向
_self:自身页面重定向
_top:第一个父窗口重定向

内嵌iframe:
window、self、window.self 当前页面对象。
window.parent 是iframe页面调用父页面对象。
window.top 顶层页面对象。
oepn:
window.open 返回的是子页面对象
window.opener 在子页面中使用父类对象

contentWindow属性是指指定的frame或者iframe所在的window对象

在IE中iframe或者frame的contentWindow属性可以省略,但在Firefox中如果要对iframe对象进行编辑则

必须指定contentWindow属性。

function EnableEdit()
{
var editor;
editor = document.getElementById("HtmlEdit").contentWindow;
// 针对IE浏览器, make it editable
editor.document.designMode = 'On';
editor.document.contentEditable = true;
// For compatible with FireFox, it should open and write something to make it work
editor.document.open();
editor.document.writeln('<html><head>');
editor.document.writeln('<style>body {background: white;font-size:9pt;margin: 2px; padding: 0px;}</style>');
editor.document.writeln('</head><body></body></html>');
editor.document.close();

}

<iframe ID="HtmlEdit" MARGINHEIGHT="1" MARGINWIDTH="1" width="100%" height="312">
</iframe>

<html>
<body>
<script>
var ifr = document.createElement("iframe");
document.body.appendChild(ifr);
var ifrdoc = ifr.contentWindow.document;
var s = fixingHTB.innerHTML; //进入可编辑模式前存好
ifrdoc.designMode = "on"; //文档进入可编辑模式
ifrdoc.open(); //打开流
ifrdoc.write(s);
ifrdoc.close(); //关闭流
ifrdoc.designMode ="off"; //文档进入非可编辑模式
</script>
</body>


var frames=window.top.window.document.getElementById("rightframe");
frames.contentWindow.TshowMsg(msg,'');
分享到:
评论

相关推荐

    showModalDialog open弹出子窗口操作parent、opener父窗口及跨域处理

    opener.parentObj.elementObj.arrtr = 'str'; 3&gt; IE与FireFox对两个弹出窗口在跨域时的解析也有不同:通过window.dialogArguments操作父窗口时,在IE下不需要指定document.domain而在FireFox下则正好相反需要指定...

    parent和opener的区别

    window.opener.postMessage("消息", "*"); // 向打开窗口发送消息 } else { console.log("没有打开者"); } ``` #### `parent`与`opener`的区别 尽管`parent`和`opener`都是指向其他窗口的引用,但它们之间...

    window.parent与window.openner区别介绍

    1. 应用场景:`window.parent` 适用于处理iframe嵌套,而`window.opener` 用于新窗口与创建它的窗口之间的交互。 2. 直接关系:`window.parent` 直接指向当前窗口的父窗口,而`window.opener` 指向打开当前窗口的...

    jsp 刷新父页面

    window.opener.location.href = window.opener.location.href 刷新以winodw.showModelDialog()方法打开的窗口 window.parent.dialogArguments.document.execCommand('Refresh'); 或 Response.Write("&lt;script&gt;...

    window.location.href页面跳转的用法(区别于redirect)

    window.opener.document.location.reload(); ``` #### 总结 通过本文的介绍,我们可以看到`window.location.href`不仅能够实现简单的页面跳转,还能灵活地应用于复杂框架结构中的页面跳转及刷新。相比`Response....

    javascript window.opener的用法分析

    window.opener 的用法 window.opener 返回的是创建当前窗口的那个窗口的引用,比如点击了a.htm上的一个链接而打开了b.htm,然后我们打算在b.htm上输入一个值然后赋予a.htm上的一个id为“name”的... opener.parent

    解析jquery获取父窗口的元素

    (“#父窗口元素ID”,window.parent.document); 对应javascript版本为window.parent.document.getElementByIdx_x(“父窗口元素ID”);取父窗口的元素方法:$(selector, ...$(selector, window.opener.document);$(s

    window.open打开新窗口,不被拦截的方法

    &lt;body onload="window.parent.opener=null;window.close();"&gt; ``` 这段代码的作用是在页面加载完成后立即关闭当前窗口。需要注意的是,这种方式可能也会受到浏览器的弹出窗口拦截机制的影响。为了确保兼容性更好...

    刷新父窗口的多种方法

    window.opener.location.href = window.opener.location.href; ``` 这里的关键在于利用`location.href`属性来重新设置父窗口的URL,从而达到刷新的目的。需要注意的是,这种方式并不会触发浏览器的缓存机制,而是会...

    js window.open iframe dialog

    例如,通过`window.opener`对象,子窗口可以访问到打开它的父窗口,而`iframe`内的脚本可以通过`parent`对象与父页面通信。 - 父窗口调用子窗口: ```javascript let newWindow = window.open('...'); newWindow....

    window.open

    这段脚本首先检查`window.opener`是否为`null`,如果不是,则打开一个新的窗口并加载指定的URL。这里还包含了一些窗口特性的设置,如不允许工具栏、地址栏等,同时设置了窗口的位置和尺寸。最后,如果当前窗口的...

    JS子窗口调用父窗口

    window.opener.closed) { window.opener.test(); } else { console.log('The parent window is not available or has been closed.'); } } ``` #### 四、总结 - **`window.parent`**:用于访问父窗口,...

    JS window对象的top、parent、opener含义介绍

    例如:A页面通过window.open()方法弹出了B页面,在B页面中就可以通过opener来引用A页面,这样就可以通过这个对象来对A页面进行操作。 3.parentparent用于在iframe,frame中生成的子页面中访问父页面的对象。例如:A...

    js中opener与parent的区别详细解析.docx

    - **关闭打开自己的窗口**:子窗口可以通过`window.opener.close()`来关闭父窗口,但这需要特别注意安全性和用户体验问题。 - **同步多个窗口状态**:例如,更新父窗口中的某些元素状态,使得父窗口与子窗口之间的...

    js中opener与parent的区别详细解析

    window.opener.postMessage(data, "*"); } ``` ### 总结 window.opener和window.parent在JavaScript中是两个非常实用的属性,分别用于在不同窗口或框架间建立联系和操作。在使用时,重要的是要了解它们各自...

    js模式化窗口问题![window.dialogArguments]

    在IE中,可以通过`window.dialogArguments`访问父窗口,而在其他浏览器中,如Firefox,可以尝试使用`window.opener.document.getElementById()`来访问并修改父窗口的元素值。不过需要注意,`window.opener.document`...

    javascript刷新父页面

    这里假设父窗口有一个名为 `frameName` 的框架,可以通过 `window.opener.frames[frameName]` 来访问它,然后使用 `location.reload()` 方法来刷新该框架。 #### 四、示例代码分析 在提供的示例代码中,我们可以...

    JS刷新父页面 父窗口

    1. **`window.opener`与`window.parent`的区别**: - `window.opener`:指的是打开当前窗口的窗口对象。只有当一个窗口是由另一个窗口通过`window.open()`打开时,该窗口才有`opener`属性。 - `window.parent`:指...

    javascript提示类

    某页面中button按钮事件写代码如下: ... Response.Write("&lt;script&gt;window.open('" + Str1 + "','_blank');window.showModalDialog('close.htm');...&lt;body onload="window.parent.opener=null;window.close();"&gt; &lt;/html&gt;

Global site tag (gtag.js) - Google Analytics