我用 iframe 一张网页这张页面 里面有一个  js  函数  我现在想在外面调用他  应该怎么办

解决方案 »

  1.   

    给iframe 加个属性,name或者id,获得iframe对象后,直接调用方法就可以了
    然后document.getElementById(id).aa()
      

  2.   


    window.frames['frameName'].functionName();
    frameName是iframe的name;functionName是函数名称
      

  3.   

    如果iframe在同一个域名下就可以实现,方法如2楼,如果不是,则实现不了,不能跨域。
      

  4.   

    1. 父页面和 iframe页面必须同源
    2. <iframe id="xxx">  的话 document.getElementById("xxx").contentWindow.my_fun();
      

  5.   

    在JavaScripr中,每个窗口中都有一个全局对象Window,例如我在窗口A中定义了一个变量:var i = 0,
    我也可以这么引用它:window.i 或 self.i。在客户端HTML中有一个数组对象frame,它存储的是当前页面中帧的数组,当一个窗口中有多个帧时候,我们就可以利用它引用不同的全局对象来传递参数:
    window.frame[0] 或 self.frame[0]上边的"[0]"代表的页面中出现的第一个帧,同时因为window对象在JavaScriprt作用域链的头部所以上边的可以简写成:frame[0]像上边那样操作引用的是一个页面中的子帧,如果是子帧的子帧可以这么引用:
    frame[0].frame[0]如果是子帧想引用它的兄弟帧,可以用parent来操作,parent代表的是子帧的父帧的全局对象:
    parent.frame[2]如果一个被嵌套多层的帧想访问它的顶层窗口的帧,可以用top来操作,top代表的是顶层窗口的全局对象:
    top.frame[0]如果想引用一个子帧中的变量或函数可以这么写:
    引用变量:...frame[0].o
    引用函数:...frame[0].o();
    但是请注意,JavaScripr是词法作用域,如果引用一个不同页面中的函数,那么那个函数将在定义它的页面中运行,而不是引用它的页面中运行。
      

  6.   

    如有问题可以联系我:
    Blog:http://blog.sina.com.cn/qq411908279
          http://www.cnblogs.com/izhaoyang/
    QQ:411908279
    Mail:[email protected]
      

  7.   

    document.getElementById('iframe').contentWindow.my_fun();