`
tonyJ
  • 浏览: 145097 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

frame的主窗口和子窗口之间通信

 
阅读更多
在frame中的子页面调用其他子页面的变量和方法:
1. parent.document.frames("子页面name").子页面方法();
2. parent.子页面name.子页面方法();
3. parent.frames["子页面name"].子页面方法();
例如:
1. parent.document.frames("top").tops();
2. parent.top.tops();
3. parent.frames["top"].tops();

在frame中主页面调用其他子页面的变量和方法:
1.子页面name.子页面方法()
2.子页面name.子页面变量

示例如下:
1、index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <frameset rows="80,*" cols="*" frameborder="no" border="0" framespacing="0">
  <frame src="top.jsp" name="top" scrolling="No" noresize="noresize" id="top" />
  <frameset cols="80,*" frameborder="no" border="0" framespacing="0">
    <frame src="a.jsp" name="a" scrolling="No" noresize="noresize" id="a" />
    <frame src="b.jsp" name="b" id="b" />
  </frameset>
</frameset>
<noframes><body>
</body>
</noframes>
</html>



2、top.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>top.jsp</title>
<script type="text/javascript">
	function a(){
		var aFrame = parent.document.frames("a");
		//var aId = aFrame.document.getElementById("aId").innerText;
		//alert(aId);
		aFrame.tree("111");
	}
</script>
</head>
<body bgcolor="blue">
	<div id="top" onclick="a()">top页面</div> 
</body>
</html>


3、a.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ page import="java.util.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
<script type="text/javascript">
	function tree(d){
		alert(d);
	}
</script>
</head>
<body bgcolor="red">
	<div id="aId">a页面</div>
</body>
</html>


4、b.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body bgcolor="green">
	<div id="b">b页面</div>
</body>
</html>
  • 大小: 35.9 KB
分享到:
评论

相关推荐

    MDI子窗口管理及子窗口创建

    `MDIFrame::ActivateNext`和`MDIFrame::ActivatePrev`函数可以用来激活下一个或上一个子窗口,而`MDIFrame::MDIActivate`则可以指定激活特定的子窗口。 3. **子窗口的位置调整**:MDI子窗口可以在父窗口内自由移动...

    dom网页frame枚举

    主页面与frame之间的通信可以通过`postMessage`和`message`事件来实现。主页面可以向特定的frame发送消息,frame也可以通过监听`message`事件接收消息。这种方法允许在不同的安全域之间进行跨域通信。 5. 注意事项...

    frame,iframe,中的js的相互访问示例

    在网页开发中,`frame`和`iframe`是两种用于嵌入子页面的HTML元素,它们可以在一个主页面中展示多个独立的网页内容。本文将深入探讨如何在`frame`和`iframe`之间进行JavaScript(JS)的相互访问,以及相关的知识点。...

    HTML iframe子窗口与主容器间互相操作,互相访问,传递数据

    本主题将深入探讨如何在iframe子窗口与主容器之间进行互相操作、互相访问以及数据传递。 1. **iframe的基本使用** - iframe标签的定义:`&lt;iframe src="URL" width="width" height="height"&gt;&lt;/iframe&gt;`,其中src...

    C# 多窗口切换加modbusRTU串口通讯

    总的来说,这个项目结合了C#的GUI开发技巧和工业通信技术,提供了在多窗口应用中实现串口配置及Modbus RTU通信的解决方案。开发者可以通过学习这个案例,掌握如何在C#环境中处理复杂的用户界面交互和通信协议,为...

    iframe父页面与子页面通信及相互调用方法

    只有当父页面和子页面具有相同的协议(如HTTP或HTTPS)、主机名和端口时,它们之间才能进行通信。否则,就需要特殊的跨域策略支持。 3. **通信方式** - **DOM操作**:如果父页面和子页面同源,可以使用JavaScript...

    跨Frame下拉菜单

    在实现跨Frame通信时,通常会用到`window.parent`或`window.frames["frameName"]`这样的语法来引用和操作父框架或特定名称的子框架。`framemenu.js`可能会使用这些方法来改变目标框架的`src`属性,从而加载新的内容...

    窗口关系以及框架

    窗口关系通常涉及到窗口的层次、嵌套、父子关系,以及它们之间的通信和协作。框架(Frameset)则是在Web开发中,HTML的一种特殊结构,用于将浏览器窗口分割成多个独立的区域,每个区域可以加载不同的网页内容。 在...

    iframe父与子、子与子之间控制以及js相互调用实际例

    只有当主页面和iframe加载的页面位于同一个域名下时,才能直接使用`contentWindow`和`parent`对象进行通信。否则,必须使用`window.postMessage()`进行跨域通信,且需要双方都监听`message`事件。 **总结** iframe...

    mdi.rar_MDI_mdi 子窗体

    MDI应用程序的核心组件包括MDI主框架窗口(MDIFrame)和MDI子窗口(MDIChild)。MDIFrame是整个应用程序的容器,它负责管理所有MDI子窗口的创建、布局、切换和关闭。而MDIChild窗口则是用户与具体数据交互的地方,每...

    MDI.rar_MDI 多窗口_Vc_mdi dialog_vc MDI_vc m

    1. **MDI架构**:了解MDI的基本概念,包括MDI父窗口(MDIFrame)和MDI子窗口(MDIChild)的结构,以及它们之间的通信方式。 2. **CWinApp和CMDIFrame**:VC++中,CWinApp是应用程序类,负责初始化和管理应用程序,...

    ISO_11898_Part4_时间触发通信网络(ISO11898_1993版和1995修订版)

    为了克服这个问题,ISO 11898 Part 4 提出了时间触发通信的概念,通过预先规划的周期性通信来减少冲突,提高通信的可靠性和效率。 #### 三、关键技术要点 1. **时间触发通信(TTC)**: - **定义**: 基于预设的时间...

    窗口视窗以及框架体系

    框架可以看作是应用程序的主窗口,通常包含多个子视图,并负责管理这些视图的布局和行为。框架还可能包含菜单、工具栏等控件,提供用户与应用程序交互的入口。在许多编程框架中,如Java的JFrame或C++的QMainWindow,...

    多文档界面支持库

    3. **数据交换**:在子窗口之间传递数据,例如复制和粘贴操作。 4. **状态栏和工具栏支持**:更新主框架窗口的状态栏和工具栏,反映当前活动的子窗口状态。 5. **布局管理**:自动或手动调整子窗口的位置和大小,以...

    商业编程-源码-多文档界面(MDI)源代码 MDIClient_demo.zip

    2. **MDIClient窗口**:MDIClient窗口是MDIFrame和MDIChild之间的桥梁,它处理子窗口的创建、布局、激活和销毁等操作。在Windows API中,MDIClient窗口是一个特殊的子窗口,通过WM_MDICREATE、WM_MDIDESTROY等消息与...

    javascript经典特效---分割Frame的代码.rar

    5. **跨框架通信**:使用`parent`和`top`对象可以在框架之间传递信息。例如,从子框架向父框架发送消息: ```javascript parent.postMessage('Hello from child frame', '*'); ``` 6. **事件监听**:通过添加...

    iframe的父子窗口之间的对象相互调用基本用法

    需要注意的是,由于同源策略的限制,只有当父窗口和子窗口的源(协议、主机和端口)相同时,它们才能互相访问对方的DOM。如果跨域,这种通信将会受到限制,除非两个页面都明确允许跨域资源共享(CORS)。此外,现代...

    JS中FRAME的操作问题实例分析

    在JavaScript中操作frame框架时,需要关注frame之间的相互访问、变量和方法的共享、以及页面元素的获取等方面的问题。 首先,了解frame框架的基本结构是非常重要的。frame框架是由一个主页面(也称为父页面)和若干...

    Delphi11.3FMX嵌套FMX窗体

    4. **通信与交互**: 主窗体和子窗体之间的通信可以通过多种方式实现,比如使用属性、方法、事件和回调函数。例如,你可以定义子窗体的公开方法,供主窗体调用,或者设置子窗体的公开属性来改变其状态。 5. **显示与...

Global site tag (gtag.js) - Google Analytics