• 爱情文章
  • 亲情文章
  • 友情文章
  • 生活随笔
  • 校园文章
  • 经典文章
  • 人生哲理
  • 励志文章
  • 搞笑文章
  • 心情日记
  • 英语文章
  • 范文大全
  • 作文大全
  • 新闻阅读
  • 当前位置: 山茶花美文网 > 励志文章 > 正文

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

    时间:2018-08-10来源:山茶花美文网 本文已影响 山茶花美文网手机站

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

    ////////////////////////////////////////
    还有下面一种,没测试过

    并不是象通常那样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()

    • 【iframe里面的页面调用父窗口,左右窗口js函数的方法】js中调用父页面的方法 相关文章:
    • 爱情文章
    • 亲情文章
    • 友情文章
    • 随笔
    • 哲理
    • 励志
    • 范文大全