Javascript:在调用之前检查兄弟帧中是否存在函数

时间:2014-09-30 22:18:57

标签: javascript frames

我在一个窗口中有两个框架。框架A和框架B.

我想从框架B调用框架A中的函数。为此,我使用:

 parent.frames['mainframe'].myfunction();

问题是该功能实际上可能不存在于框架A中。

我想在调用之前检查它是否存在。

我尝试了这个但是出现了JS错误。

if ( typeof parent.frames['mainframe'].myfunction == 'function' ) { 
        //function_name is a function
}

错误:

TypeError: undefined is not a function

更新

你们都是正确的 - 我运行的实际代码是带有括号的parent.frames [' mainframe'] .myfunction()的类型。对不起:/我该如何处理最佳答案?

1 个答案:

答案 0 :(得分:0)

您的代码绝对可以使用。确实myfunction似乎不在子窗口的全局范围内。当您引用parent.frames['mainframe']时,您实际上是在'大型机'中引用window对象。 iframe中。这是一个JSFiddle,其中子函数在window对象上显式设置,并且工作得很好。

JSFiddle Example