如何在顶部框架中调用javascript函数?

时间:2010-06-18 11:23:29

标签: javascript frames

这看起来很简单,但是如何从子框架中调用顶级html中定义的javascript函数?

top html doc
 - 1st level frame
    - 2nd level frame

我的顶级html文档有一个名为testFn()的函数。在第二级框架中,我有一个带onclick="top.testFn();"的按钮,但这不会调用testFn()。在Firebug中,如果我使用手表执行top.testFn();,它会说TypeError:testFn()不是函数。

这一切都可以正常工作 - 在这种情况下,我的文档存在问题,还是有其他方法在顶级窗口中调用函数?

3 个答案:

答案 0 :(得分:4)

您的代码看起来正确。如果它说testFn() is not a function那么也许它不是。您是否尝试在顶部框架的onload="testFn();"中设置<BODY>以确保其有效?

可能存在一些javascript错误导致代码创建testFn函数未成功完成。

答案 1 :(得分:2)

您是否尝试过这样称呼:

  

的onclick = “parent.parent.testFn();”

我假设你在第一帧内有第二帧。

答案 2 :(得分:0)

实际上,这正是你如何做到的。

诀窍是在顶级html页面上的javascript中没有语法错误: - )