开发者

how to call a javascript function in the top frame?

This seems really simple, but how do I call a javascript function that's defined in the top-level html, from a child frame?

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

my top html doc has a function called testFn(). In the 2nd level frame I have a button with onclick="top.testFn();" but this doesn't call the t开发者_如何学GoestFn(). In Firebug if I use a watch to execute top.testFn(); it says TypeError: testFn() is not a function.

Should this all just work - in which case it's a problem with my documents, or is there some other way to call functions in the top-level window?


Your code looks right. If it says testFn() is not a function then perhaps it isn't. Have you tried setting onload="testFn();" in the <BODY> of your top frame to make sure that works?

There could be some javascript error which leads to the code creating your testFn function not being successfully completed.


Have you tried calling it like this:

onclick="parent.parent.testFn();"

I am assuming you have the 2nd frame inside the 1st frame.


Actually, that is exactly how you do it.

The trick is not having a syntax error elsewhere in the javascript on that top-level html page :-)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜