js window.open() 父窗口与子窗口的互相调用

javascript 父窗口与子窗口的互相调用

<html>
 <head></head>
 <body>
  主要实现父子关系的页面 window.opener 是window.open 打开的子页面调用父页面对象 a.html
  <title>主页面</title>
  <script type="text/javascript">
     /** 为测试IFrame子窗口调用父窗口的全局变量而添加的测试变量 */
     var parentVairous = "为测试IFrame子窗口调用父窗口的全局变量而添加的测试变量"; 

     /**
      *  因为不同于IFrame(IFrame有id,window.open()与IFrame的父子窗口的模式不同),
      *  所以当是通过window.open()方法打开一个新窗口使, 必须有一个新窗口的对象
      *  当然必须先让子窗口弹出来, 才能调用子窗口中的变量, 否则抛出异常
      */
     var OpenWindow;

     function openSubWin()
     {
         OpenWindow = window.open(‘b.html‘, ‘newwindow‘, ‘height=1024, width=1300, top=0, left=0, toolbar=no, menubar=yes, scrollbars=yes,resizable=yes,location=no, status=no‘);
     }
     function parentInvokeChild()
     {
         if(OpenWindow)//当然必须先让子窗口弹出来, 才能调用子窗口中的变量, 否则抛出异常
         {
               alert(OpenWindow.iFrameVair);
         }
     }
     </script>
  <form name="form1" id="form1">
   <input type="text" name="username" id="username" />
   <input type="button" value="弹出子页面" onclick="openSubWin()" />
   <input type="button" value="测试调用弹出窗口中的全局变量" onclick="parentInvokeChild()" />
  </form>   b.html
  <title>子页面</title>
  <script type="text/javascript">
         /** 为测试父窗体调用IFrame子窗体的全局函数而添加的子窗口全局函数 */
         var iFrameVair = "测试父窗体调用IFrame子窗体的全局函数";
         function UpdateParent()
         {
              var _parentWin = window.opener;
              _parentWin.form1.username.value = "xxxx" ;
         }
         function childInvokeParent()
         {
              var parentVairous = window.opener.window.parentVairous;
              alert(parentVairous);
         }
        </script>
  <form name="form1" id="form1">
   <p> </p>
   <p align="center"> <input type="button" onclick="UpdateParent();" name="button" id="button" value="更新主页面的UserName内容" /> <input type="button" name="button2" id="button2" value="测试IFrame子窗口调用父窗口的全局变量" onclick="childInvokeParent();" /> </p>
   <p> </p>
  </form>
 </body>
</html>

  

时间: 2024-08-06 11:51:44

js window.open() 父窗口与子窗口的互相调用的相关文章

总结js(Iframe、window.open、window.showModalDialog)父窗口与子窗口之间的操作

http://hi.baidu.com/yashua839/blog/item/131fdb2fe547ef221f3089af.html一.Iframe 篇 //&&&&&&&&&&&&&&&&&&&&公共方法开始&&&&&&&&&&&&&&a

JavaScript(Iframe、window.open、window.showModalDialog)父窗口与子窗口之间的操作

一.Iframe 篇 公共部分 //父对象得到子窗口的值 //ObjectID是窗口标识,ContentID是元素ID function GetValue(ObjectID,ContentID) { var IsIE = (navigator.appName == 'Microsoft Internet Explorer') if(IsIE) {//如果是IE alert(document.frames(ObjectID).document.getElementById(ContentID).i

C#中父窗口和子窗口之间控件互操作实例

本文实例讲述了C#中父窗口和子窗口之间控件互操作的方法.分享给大家供大家参考.具体分析如下: 很多人都苦恼于如何在子窗体中操作主窗体上的控件,或者在主窗体中操作子窗体上的控件.相比较而言,后面稍微简单一些,只要在主窗体中创建子窗体的时候,保留所创建子窗体对象即可. 下面重点介绍前一种,目前常见的有两种方法,基本上大同小异: 第一种,在主窗体类中定义一个静态成员,来保存当前主窗体对象,例如: 代码如下: public static yourMainWindow pCurrentWin = null

父窗口与子窗口的层次关系

原文:父窗口与子窗口的层次关系   父窗口与子窗口的层次关系 周银辉 关于子窗体的层级关系总结一下哈,希望能对大家有些帮助 假设有这样两个窗体:RootWindow,SubWindow,在RootWindow中引发某事件而显示SubWindow 1,如果弹出窗体(比如SubWindow)仅仅是调用Show方法,并且没有设置其Owner属性: ClassRootWindow { void Foo() { SubWindow sw = newSubWindow(); sw.Show(); } } 那

C# 委托 父窗口与子窗口间传值

1)目标 父窗口与子窗口都有1个Button和1个Label. 目标1:单击父窗口的Button,子窗口的Label将显示父窗口传来的值. 目标2:单击子窗口的Button,父窗口的Label将显示子窗口传来的值. 2)父窗口代码 using System; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApp5 { public delegate void ShowMessageS

c# 列举所有窗口和子窗口

private delegate bool WNDENUMPROC(IntPtr hWnd, int lParam); [DllImport("user32.dll", ExactSpelling = true)] private static extern bool EnumChildWindows(IntPtr hwndParent, WNDENUMPROC lpEnumFunc, int lParam); [DllImport("user32.dll")] p

Iframe父页面与子页面之间的调用

专业词语解释如下:     Iframe:iframe元素是文档中的文档.     window对象: 浏览器会在其打开一个HTML文档时创建一个对应的window对象.但是,如果一个文档定义了一个或者多个框架(即:包含一个或者多个frame或者iframe标签),浏览器就会为原始文档创建一个window对象,再为每个iframe创建额外的window对象,这些额外的window对象是原始窗口的子窗口. contentWindow: 是指指定的iframe或者iframe所在的window对象.

父窗口取子窗口的 js 数组

现在这个系统,用到了大量的选择器 和 自动完成,凭借我的三寸不烂之手, 将这些选择器 和 自动完成做到了最简化, 一路顺风顺水. 今天下午补充一个页面的选择器, 要取一个复杂的 json 对像,用来填充数据.这个 json 对象包含数组, 取出来后,要转变为本地页面(选择器的父页面)的某个"类"的实例. 我用这个方法来将 json 对象转换为某个"类"的对象: 1 _.automap = function (data, type, writeNotExistsPro

JavaScript用window.opener实现父窗口和子窗口传值

在实际项目中经常会有这样的需求,点击某个按钮弹出对话框,对话框中可以编辑和修改相应的内容,然后再保存并关闭窗口,如果写一个静态的div作为显示隐藏,倒也可以,但是还得调整样式,麻烦点.现在用window.open就可以实现同样的效果,父页面和子页面照样传值. demo代码如下: 父页面: html部分: <!-- Author : 赵一鸣 Blog : http://www.zymseo.com Time : 2016/9/20 --> <!doctype html> <ht