这看起来很简单,但是如何从子框架中调用顶级html中定义的javascript函数?
top html doc
- 1st level frame
- 2nd level frame
我的顶级html文档有一个名为testFn()的函数。在第二级框架中,我有一个带onclick="top.testFn();"
的按钮,但这不会调用testFn()。在Firebug中,如果我使用手表执行top.testFn();
,它会说TypeError:testFn()不是函数。
这一切都可以正常工作 - 在这种情况下,我的文档存在问题,还是有其他方法在顶级窗口中调用函数?
答案 0 :(得分:4)
您的代码看起来正确。如果它说testFn() is not a function
那么也许它不是。您是否尝试在顶部框架的onload="testFn();"
中设置<BODY>
以确保其有效?
可能存在一些javascript错误导致代码创建testFn
函数未成功完成。
答案 1 :(得分:2)
您是否尝试过这样称呼:
的onclick = “parent.parent.testFn();”
我假设你在第一帧内有第二帧。
答案 2 :(得分:0)
实际上,这正是你如何做到的。
诀窍是在顶级html页面上的javascript中没有语法错误: - )