2012-02-20 105 views
0

我在一个iFrame(同一个域)中有一个函数,我想从弹出窗口调用。所以基本上我想要做一些像window.opener.document.getElementById('topFrame')。contentWindow.setActive('1');从window.opener在iframe中调用javascript函数

在弹出窗口的window.opener中,我有一个iframe的ID为“topFrame”(并命名为“topFrame”,以防万一这是一个更好的解决方案),其中必须执行函数setActive('1')。 但是,上述代码不起作用,谷歌并没有真正帮助为这个特定案例寻找解决方案。

任何人有想法?

THX

+0

在哪一点不起作用?你有没有尝试过日志记录来验证你已经成功地获得了iframe的引用等?如果你能指出哪个“点”打破了它,它将有助于调试问题。 – GregL 2012-02-20 08:32:11

回答

0

你行应实际工作也可能是问题的一个计时问题:很可能是你的iframe还没有在你试图调用其功能的时间完成加载。在loadDomReady之后拨打您的电话应该有效。

(您也可以尝试在超时时间内包装您的呼叫,并查看它是否在稍后的点)。

0

如果从iframe的窗口中打开弹出那么你应该使用

window.opener.setActive('1'); 

因为window.opener本身将返回。它可能是因为我也犯这样的错误的情况下的iframe窗口。希望你的问题得到解决:)