侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

window.parent与window.opener的区别与使用

2023-12-12 星期二 / 0 评论 / 0 点赞 / 42 阅读 / 2243 字

1、window.parent 是iframe页面调用父页面对象 举例: a.html <html><head><title>A</title></head><body><formname=”form

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中写:

<script type=”text/javascript”>var _parentWin = window.parent;_parentWin.form1.username.value = “xxxx”;</script>

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”/><a onclick=”window.open(this.href,”,’resizable=yes,width=800,height=600,status’); return false” href=”b.html”>B</a>

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

<a href=”javascript:try{window.opener.document.getElementById(‘username’).contentWindow.frames[0].document.getElementsByTagName(‘body’)[0].innerHTML+=’xxx‘}catch(e){};window.close();“>插入</a>

在后面用window.close关闭b.html。WindsPhoto 2.7.3 中在文章编辑页面弹出新窗口(图片列表)后,选择插入已上传图片便是如此实现的。

广告 广告

评论区