iframe里面的页面调用父窗口,左右窗口js函数的方法

来源:互联网 发布:power dvd mac 编辑:程序博客网 时间:2024/05/18 02:04

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'); 


父窗口调用iframe子窗口方法 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

<iframe name="myFrame" src="child.html"></iframe> 
myFrame.window.functionName();

iframe子窗口调用父窗口方法
parent.functionName();



用 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);

来自:http://www.ok22.org

原创粉丝点击