首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

window的frame操作形式

2012-08-31 
window的frame操作方式?1:name和id得到frame对象的区别? ?name属性得到的是frame框架里的页面的WINDOW对象

window的frame操作方式

?

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>

热点排行