javascript/Jscript实现父子窗体的互相引用问题

转载 2004年07月01日 10:38:00
标题     javascript/Jscript实现父子窗体的互相引用问题(Powered By ZosaTapo)    zosatapo(原作)
关键字     javascript jscript 窗体引用

Title:
javascript/Jscript实现父子窗体的互相引用问题(Powered By ZosaTapo)

Key Words:
javascript jscript 窗体引用
 
Content:
近来有很多网友问关于如何利用javascipt实现弹出窗体与父窗体功能引用问题。
本人在以前的使用有一些这方面的体验,希望与大家分享一下。希望能对需要的网友有一些帮助。

本文主要以例子为主,文后附有全部源代码。
实现父窗体,子窗体引用的关键在于下面几点:
(1)window.open.函数返回值是弹出子窗体的引用句柄。
(2)得到父窗体引用句柄。这是功能实现的关键,说起来也很简单。
self.opener返回窗体的父窗体。
(3)self,window,parent,top等实现的窗体引用是针对帧(frame/frameset)实现的,跟本文关系不大的。你如果利用parent得不到弹出窗体的父窗体的。

本文只是针对窗体之间引用做简单的分析说明。源代码只是提供简单演示,很不完善,如果使用的话,请自己增加相应的出错检查等功能。

<HTML>
<HEAD>
<TITLE>Welcome to ZosaTapo's WebSite:::::::::Powered By ZosaTapo</TITLE></TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
var child=null;
function testP(){
 alert("Message in parent window!");
}

function openwindow(){
 if(child==null){
  child=window.open("child.htm");
 }
}

function callmethod(){
if(child!=null){
child.testC();
}
}

function closewindow(){
if(child!=null){
child.close();
child=null;
}
}
//-->
</SCRIPT>
<style type="text/css">
A:hover{color:#0000FF;text-decoration:underline}

BODY{color:#FFFFFF;font-family:Courier New, Courier, mono}
</style>
</HEAD>

<BODY bgcolor="#000000">
<!--Title content bengin-->
<p align=center ><font size=6 color='#6699cc'><b>Welcome To ZosaTapo  Castle</b></font></p>

<!--Body content bengin-->
<b>Watch text Changing:</b><br>
<INPUT TYPE="text" id="author" value="changed by child"><br><br>

<b>Open  child Window:</b><br>
<input type="button" value="Open Child Window" onclick="openwindow();"><br><br>

<b>Call child  Method:</b><br>
<input type="button" value="Call Child Method" onclick="callmethod();"><br><br>

<b>Close child Window:</b><br>
<input type="button" value="Close Child Window" onclick="closewindow();"><br><br>

<!--Footer content begin-->
<hr width=100%>
<p align=center >Powered By <a href="Zosatapo'>mailto:dertyang@263.net">Zosatapo</a>
</BODY>
</HTML>

<HTML>
<HEAD>
<TITLE>Welcome to ZosaTapo's WebSite:::::::::Powered By ZosaTapo</TITLE></TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
var parwindow=null;
parwindow=self.opener;
function testC(){
 alert("Message in child window!");
}

function changetext(){
 if(parwindow!=null){
  parwindow.document.all("author").value="zosatapo";
 }
}

function callmethod(){
if(parwindow!=null){
parwindow.testP();
}
}

function closewindow(){
if(parwindow!=null){
parwindow.close();
parwindow=null;
}
}
//-->
</SCRIPT>
<style type="text/css">
A:hover{color:#0000FF;text-decoration:underline}

BODY{color:#FFFFFF;font-family:Courier New, Courier, mono}
</style>
</HEAD>

<BODY bgcolor="#000000">
<!--Title content bengin-->
<p align=center ><font size=6 color='#6699cc'><b>Welcome To ZosaTapo  Castle</b></font></p>

<!--Body content bengin-->
<b>Change parent Text:</b><br>
<input type="button" value="Change parent Text" onclick="changetext();"><br><br>


<b>Call parent  Method:</b><br>
<input type="button" value="Call Parent Method" onclick="callmethod();"><br><br>

<b>Close parent Window:</b><br>
<input type="button" value="Close Parent Window" onclick="closewindow();"><br><br>

<!--Footer content begin-->
<hr width=100%>
<p align=center >Powered By <a href="Zosatapo'>mailto:dertyang@263.net">Zosatapo</a>
</BODY>
</HTML>

javascript/Jscript实现父子窗体的互相引用问题(Powered By ZosaTapo)

Title:javascript/Jscript实现父子窗体的互相引用问题(Powered By ZosaTapo)Key Words:javascript jscript 窗体引用 Content:...
  • zosatapo
  • zosatapo
  • 2001年12月18日 09:28
  • 1020

JScript 是 JavaScript 的缩写吗?

JScript 是 JavaScript 的缩写吗?        资策会数字教育研究所讲师 杨宏文                          很多人都误以为JScript就是JavaScri...
  • zhaoxiaoyang5156
  • zhaoxiaoyang5156
  • 2007年06月16日 22:58
  • 1297

javascript与Jscript区别

区分JavaScript和JScript 很多人无法区分JavaScript和JScript,或者根本不去区分它们,这是不对的。 JScript是Microsoft公司对ECMA262语言规范的一...
  • github_36268254
  • github_36268254
  • 2016年11月09日 21:59
  • 164

jscript与javascript的区别

netscape开发了在Navigator中使用的LiveScript语言,后改名为JavaScript Microsoft发行jscript用于internet explorer. 最初的jscri...
  • edwardq2266
  • edwardq2266
  • 2008年04月18日 15:16
  • 1647

jscript和javascript区别

今日在使用弹出层时发现ie,谷歌下支持弹出框,而火狐下却不支持,百思不得其解,试了很多地方都解决不了问题,最后将改成了 火狐下终与出现了弹出框,最终查了资料才知道jscript和javascript是...
  • meimingming
  • meimingming
  • 2012年01月17日 10:13
  • 1586

JavaScript实现父子两个窗口之间互相通信

JavaScript里面的Dom编程里面的window对象有很多的方法能实现很多特殊的效果,下面我们来列举一些方法,然 后做出一个小案例,就是使用Window对象的opener方法实现父子两方的窗口...
  • a352193394
  • a352193394
  • 2012年04月22日 19:04
  • 2429

经典ASP开发:弃VBScript而选JScript的八大理由

我承认,我是 JS 服务端技术的鼓吹者,我企图将 JS 语言的应用“从客户端包围服务端”,况且这不是新鲜事(SSJS),与我保持同一意见的人应该是有的,尽管对此不会有太大的热情,或者没有为此而“雄辩”...
  • zhangxin09
  • zhangxin09
  • 2010年04月17日 15:52
  • 6110

QT初学之父子窗体

最近学了一下QT,正在享受信号与槽机制的优点。 话不多说,先来展示一下我写的代码: 本程序实现父窗体点击按钮,子窗体出现,子窗体点击按钮,父窗体出现。 mywidget1.h: 父窗体 #if...
  • sum_TW
  • sum_TW
  • 2017年02月22日 22:38
  • 1653

C#父子窗体

C#中,怎么实现在第一个窗体上点一个按钮,出现第二个窗体? 在按钮的click事件中添加以下代码 private void button1_Click(object sender, Event...
  • pyq228
  • pyq228
  • 2011年10月20日 20:01
  • 1711

JavaScript与JScript的区别

JavaScript与JScript的区别 前言:很多人无法区别JavaScript和JScript,或者根本就不去区分他们,这是不对的. 什么是JScript?JScript是微软公司对ECMA...
  • z3881006
  • z3881006
  • 2017年09月06日 15:28
  • 118
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javascript/Jscript实现父子窗体的互相引用问题
举报原因:
原因补充:

(最多只允许输入30个字)