1、iframe里面的页面调用父窗口,左右窗口js函数的方法javascript
iframe里面的页面调用父窗口,左右窗口js函数的方法
实现iframe内部页面直接调用该iframe所属父窗口自定义函数的方法。
好比有A窗口,A内有个IFRAME B,B里面的装载的是C页面,这时C要直接调用A里面的一个自定义函数AFUN();
那么只要在C页面中写以下JS函数就能够了:
window.parent.AFUN();
若是AFUN()有参数也能够直接传递合适的参数进去。
例如:
修改父窗口控件属性
window.parent.document.getElementById('frmright').src=window.parent.document.getElementById('frmrightsrc').value;
调用父窗口函数
window.parent.POPUP('bigFram'); html
父窗口调用iframe子窗口方法
<iframe name="myFrame" src="child.html"></iframe>
myFrame.window.functionName();
iframe子窗口调用父窗口方法
parent.functionName();java
////////////////////////////////////
用js互相调用iframe页面内的js函数
一个html页面,分红左右两块,左边为导航栏,右边为须要显示的内容,代码以下:
左栏的代码为:
<IFRAME frameBorder=0 id=frmTitleLeft name=framLeft src="left.html" style="HEIGHT: 100%; width:180px;">
链接到left.html
好比右栏中有一个函数right(),我要在左栏的连接中调用right()函数,该如何实现呢
1,首先leftframe是内嵌在容器页index.html中的,所以须要先返回到index这一级别,并取得rightframe对象
var frames=window.parent.window.document.getElementById("frameid");
2,要能执行其页面中的函数,必需要得到window对象,这里有一个重要的对象contentWindow,得到这个对象,便可执行其中的函数了,如
frames.contentWindow.right();
以上代码兼容IE6,Firefox3,chrome2.0,均成功经过测试,IE7没试过,不过应该没问题。
3.例如:
window.parent.document.getElementById('leftFrame').contentWindow.JSMenu('MenuUl'+Sid);
window.parent.frames["leftFrame"].JSMenu('MenuUl'+Sid);chrome
2、javascript--iframe的JS方法,用法!contentWindow 、parent、top、onload
浏览器
1、在使用iframe的页面,要操做这个iframe里面的DOM元素能够用:服务器
contentWindow、contentDocument(测试的时候chrom浏览器,要在服务器环境下)框架
1.先获取iframe里面的window对象,再经过这个对象,获取到里面的DOM元素函数
例子:post
var ifr = document.getElementById("iframe"); ifr.contentWindow.document.getElementById("XXXXX") <iframe src="a.html" id=""></iframe>
ifr.contentWindow 这里,返回的是iframe的window对象,因此后面能够接着调用document方法,再接着调用getElementByTagName。那么就能够对iframe里面的元素进行操做了。测试
2、在iframe本页面,要操做这个iframe的父页面的DOM元素(即嵌套这个iframe的页面)能够用:
window.parent、window.top(这里的TOP是获取的顶层,即有多层嵌套iframe的时候使用)
var ifr = document.getElementByTagName("iframe"); ifr.parent.document.getElementById("XXXXX") <iframe src="a.html" id=""></iframe>
3、onload事件
非IE下用法
ifr.onload = function(){ //SOMETHING }
IE下,须要绑定
ifr.attachEvent("onload",function(){ //something })
3、Js中的window.parent ,window.top,window.self详解
在应用有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe),self是当前窗口, opener是用open方法打开当前窗口的那个窗口。
window : 表明当前窗体
self : 也表明当前窗体
window.self
功能:是对当前窗口自身的引用。它和window属性是等价的。
语法:window.self
注:window、self、window.self是等价的。
window.top
功能:返回顶层窗口,即浏览器窗口。
语法:window.top
注:若是窗口自己就是顶层窗口,top属性返回的是对自身的引用。
window.parent
功能:返回父窗口。
语法:window.parent
注:若是窗口自己是顶层窗口,parent属性返回的是对自身的引用。
在框架网页中,通常父窗口就是顶层窗口,但若是框架中还有框架,父窗口和顶层窗口就不必定相同了。
判断当前窗口是否在一个框架中:
<script type="text/javascript">
var b = window.top!=window.self;
document.write( "当前窗口是否在一个框架中:"+b );
</script>
你应当将框架视为窗口中的不一样区域,框架是浏览器窗口中特定的部分。一个浏览器窗口能够根据你的须要分红任意多的框架,一个单个的框架也能够分红其它多个框架,即所谓的嵌套框架。