zoukankan      html  css  js  c++  java
  • window.parent与window.opener的区别

    有这样一个需求,弹出一个新窗口 并从该新页面的select选择框中选择需要的类别,再返回到之前的父窗口页面的某个文本框中。这里就要用到window.parent和window.opener

    如题两种方法都是javascript调用父窗口的方法。
    1、window.parent是iframe页面调用父窗口对象
    比如:parent.jsp
    里面有一个文本框
    <input id="username" value="">
    
    <iframe scrolling="auto" src="PLUGIN/CMS/children.jsp"
    id="rightFrame_id" frameborder="0" name="rightFrame"></iframe>
    当要在children.jsp里为parent.jsp页面中的username文本框赋值时,可在children.jsp里这样写:
    window.parent.document.getElementById("username").value = "hello"
    对应jquery版本为:
    $("#username",window.parent.document).val("hello");

    2、window.opener是window.open打开的子页面调用父页面对象
    比如a.jsp
    <input  type="button" onclick="show();" value="测试" />
    <input type="text" id="myhobby" value="">
    function show(){
    		window.open( "PLUGIN/CMS/shop/b.jsp", "ModifyAcce",'width=500,height=400,toolbar=no,status=no,location=no,scrollbars=yes,resizable=yes'); 
    	}
    想要在b.jsp里为a.jsp中的myhobby赋值,可以这样写:
    window.opener.document.getElementById("myhobby").value = "hello";
    对应jquery版本为:
    $("#myhobby",window.opener.document).val("hello");

    总结:
    window.parent中的parent表示父窗口,比如一个A页面利用iframe或frame调用B页面,那么A页面就是B页面的parent。
    B页面可以通过parent访问A页面。

    window.opener中的opener表示谁打开我的,比如一个A页面利用window.open弹出了B页面,那么A页面就是B页面的opener。
    B页面可以通过opener访问A页面。


  • 相关阅读:
    Go并发编程实战 第2版 PDF (中文版带书签)
    DirectShow 应用开发过程
    Filter 原理
    DirectShow 常用函数总结
    COM 编程基础
    DirectShow 简介
    C++ 静态库与动态库以及在 Windows上 的创建、使用
    DirectShow 学习方法
    Qt 编译配置相关总结
    环境变量对于 VS 有什么用?
  • 原文地址:https://www.cnblogs.com/itmyhome/p/4131380.html
Copyright © 2011-2022 走看看