1:name和id得到frame对象的区别
name属性得到的是frame框架里的页面的WINDOW对象,
id属性得到的即是frame标签。
例:我们可以用name属性得到frame所连接页面的WINDOW对象
var iframeWindow = window.frames[index或frameName];
或
var iframeWindow = window.frameName;
这两种方式IE、FireFox都支持!
但是iframeWindow这个对象无法得到frame标签的attribute,例如:我们想找到frame标签的src属性的值,通过下面的方式,是错误的!
alert(iframeWindow.src); //这是得不到的
在这个时候,我们只能通过id属性去得到frame标签对象。
alert(document.getElementById("frameName").src); //这是正确的
2:父级、子级之间的数据、方法调用。
在父级窗口,我们可以用iframeWindow直接去访问子页面的method和attribute。
例:
alert(iframeWindow.document.getElementById("df").innerHTML);
alert(iframeWindow.childAlter());
在子级窗口,我们可以用parent直接去访问 父页面的method和attribute。
例:
alert(parent.parentAlert());
3:完整的例子如下:
Parent页面:index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
<script type="text/javascript">
function changeSrc()
{
//-------window.frames[]方法得到子页面window对象--------
var iframeWindow = window.frames[0];
//= window.frames["myframe"];
//-------window.frameName方法得到子页面window对象-------
var iframeWindow = window.myframe;
//--------访问子页面对象、方法-------------
alert(iframeWindow.document.getElementById("df").innerHTML);
iframeWindow.childAlert();
//-------window.document.getElementById()得到标签对象---
var iframeWindow = window.document.getElementById("myframe");
alert(iframeWindow.src);
}
function parentAlert()
{
alert("i'm parent!");
}
</script>
</head>
<body>
下面是iframe
<iframe id="myframe" name="myframe" src="child.jsp" frameborder="0"></iframe>
<br />
<input type="button" value="连接页面" onclick="javascript:changeSrc();" />
</body>
</html>
Child页面:child.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'child.jsp' starting page</title>
<script type="text/javascript" >
function childAlert()
{
alert("i'm children");
parent.parentAlert();//父页面方法
}
</script>
</head>
<body>
<div id="df">Wo shi childDIV. </div>
</body>
</html>
分享到:
相关推荐
【标题】"wpf_windowFrame点菜系统"揭示了这个项目是基于WPF(Windows Presentation Foundation)技术构建的,主要用于实现餐厅的点菜功能。WPF是.NET Framework的一部分,它提供了一个丰富的用户界面开发平台,支持...
"跨frame操作DOM元素"是一个重要的技术主题,尤其在处理多框架网页时。本文将深入探讨这个主题,并结合标签“源码”和“工具”,为你揭示如何在不同frame之间交互和操作DOM。 首先,理解frame的概念至关重要。在...
每个frame或iframe都有自己的窗口对象(window)和文档对象(document),我们可以使用`contentWindow`和`contentDocument`属性来访问它们。例如,`frameElement.contentWindow`可以返回frame或iframe的窗口对象,`...
在Web开发中,框架(frame)是一种组织页面内容的方式,它允许在一个HTML文档中嵌入多个独立的浏览区域。这些区域通常称为子框架,每个都有自己的文档和独立的滚动条。在处理涉及多个框架的交互时,有时我们需要在...
标题中的“js操作frame进行消息提示”涉及到JavaScript在网页中跨框架通信的技术,这是一个重要的前端开发知识点。在多框架(frames或iframes)的网页结构中,JavaScript可以用来实现不同框架间的交互,如发送和接收...
在这个例子中,`window.parent`获取了顶层`frame`,然后通过`document.getElementsByTagName`找到第二个`frame`(因为索引从0开始),接着通过`contentWindow`属性获取`frame`内的`window`对象,最后通过`document....
在JavaScript中,操作FRAME对象是...此外,随着现代Web技术的发展,虽然IFrame仍被广泛使用,但更多地转向了使用Vue、React等前端框架来构建组件化的页面结构,这些框架提供了更强大和灵活的方式来管理和操作页面内容。
在实现跨Frame通信时,通常会用到`window.parent`或`window.frames["frameName"]`这样的语法来引用和操作父框架或特定名称的子框架。`framemenu.js`可能会使用这些方法来改变目标框架的`src`属性,从而加载新的内容...
在Java AWT(Abstract Window Toolkit)库中,`java.awt.Frame`类是顶级容器,可以用来展示其他组件,如按钮、文本框等,从而构建用户交互界面。在Swing库中,`javax.swing.JFrame`继承自`java.awt.Frame`,提供了更...
这种通信方式可以是通过修改iframe的src属性、利用window.postMessage方法或者利用window.name属性进行数据传递。 1. **iframe的使用**:iframe标签允许我们插入一个外部HTML文档到当前页面中,它的src属性指定要...
### 如何跳出Frame框架 在Web开发中,有时我们需要让嵌套在`<frameset>`或`<iframe>`中的页面能够直接打开在一个新的窗口或直接覆盖当前顶级窗口,而不是局限于框架内部显示。这种情况通常出现在登录页或其他需要...
以上就是使用`Frame动画`和`按键监听`实现窗户打开关闭操作的基本概念和实现方式。实际开发中,可能还需要考虑更多的细节,如用户体验优化、线程安全以及更复杂的动画效果。希望这个解释能帮助你理解和应用这些技术...
`iframe`的基本使用方式如下: ```html <iframe src="https://example.com" width="500" height="300"></iframe> ``` `iframe`可以通过`src`属性加载外部网页,同时可以通过`width`和`height`设置其尺寸。 3. `...
在没有X Window System或Wayland这样的窗口管理器的情况下,frame buffer是进行图形化操作的直接途径,特别适合于嵌入式系统。 在实现NES模拟器时,我们首先要对NES游戏的图形数据进行解码,然后将这些数据写入到...
在jQuery中,要访问并操作这些frame内的元素,我们可以使用`window.parent`或`window.parent.parent`来引用父级窗口,然后通过frame的name属性来访问特定的frame。例如,如果要在`login_bottom.jsp`中操作`content....
在`jsp`页面中,我们可以动态地设置`iframe`的`src`属性,以根据用户操作或服务器端逻辑加载不同的内容。例如,我们可以创建一个`jsp`页面作为父页面,包含多个`iframe`,并根据需要改变`iframe`的源: ```jsp ;...
9. **附加属性和行为:** 利用附加属性和行为,可以实现跨元素交互,无论这些元素是否在同一个Visual Tree中,Window和Page也可以通过这种方式通信。 总结来说,WPF中Window和Page的相互调用涉及多个方面,包括直接...
在 Selenium IDE 录制的脚本中,`selectFrame` 和 `selectWindow` 命令用于在多框架结构的网页中切换,但在 JUnit 中这些命令并不适用。为了解决这个问题,我们可以利用 WebDriver 提供的 API 进行操作: 1. **定位...
当我们需要对网页中的frame或iframe进行操作时,WebBrowser控件提供了相应的API。下面将详细解释如何使用C#的WebBrowser控件来操作frame。 首先,了解frame的基本概念。在HTML中,frame是用来将一个网页分割成多个...
# 使用索引方式进入指定的 frame 页面,索引号从 0 开始 self.driver.switch_to.frame(0) # 找到左侧 frame 中的 p 标签元素 leftFrameText = self.driver.find_element_by_xpath("//p") # 断言左侧 frame 中...