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

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

作者:LoveCode标签:iframe,iframe里面,页面调用,父窗口,左右窗口,js,js函数,方法

iframe内部页面直接调用该iframe所属父窗口自定义函数的方法:

比如有A窗口,A内有个IFRAME B,B里面的装载的是C页面,这时C要直接调用A里面的一个自定义函数AFUN();

那么只要在C页面中写如下JS函数就可以了:

window.parent.AFUN();

如果AFUN()有参数也可以直接传递合适的参数进去。 

例如:

修改父窗口控件属性:

window.parent.AFUN();

window.parent.document.getElementById('frmright').src=window.parent.document.getElementById('frmrightsrc').value;

调用父窗口函数:

window.parent.POPUP('bigFram');

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

parent.functionName();


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

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


用js互相调用iframe页面内的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);

还有下面一种,没测试过

并不是象通常那样iframeName.test();——test()为iframe里的方法。因为要写一个通用一点的东西,所以是从一个配置文件中动态获取到iframe的id。然后调用里面的方法。可是不成功。相烦帮忙看一看。代码如下:   

<iframe   id="iframe1"></iframe>   
var   cs   =   document.all;
for(var   i   =   0;   i   <   cs.length;   i++)   {   
        if(cs.tagName.toUpperCase()   ==   "IFRAME")   {   
                if(cs.id   ==   "iframe1")   {   
                        alert(frmDealData);   
                        alert(cs);   
                        document.frames.iframe1.setScreenletStatus(iframeLayoutLvl);   
                        document.frames.cs.setScreenletStatus(iframeLayoutLvl);   
                }   
        }   
}

第一句调用是成功的。可第二句就不成功。 


如果在只能取得cs对象的情况下,该怎么调用iframe里的方法?

不要用id,用name:

window.frames[cs].fun()


CopyRight © 2017 荒山本的官方网站 粤ICP备16049175号 All Right Service 网站地图(xml) 网站地图(html)