2011-11-30 76 views
0

我不确定这是否可能,但我有一个负责将文件上传到服务器的小型Web应用程序。此应用程序由另一个应用程序使用,该应用程序将其包含在iFrame中。从iFrame中触发javascript事件

上传器应用程序使用jQuery表单在后台提交文件,我希望能够在上传完成并且成功回调触发时通知父应用程序。

我在考虑以某种方式将一个函数传递给可以从父级调用的iFrame应用程序,但我不知道如何执行此操作或者甚至有可能。

回答

0

我不知道什么是正确的方式要做到这一点,但你可以写的东西就像在你的父框架document.callback = function() { ... }parent.document.callback()在iframe中。

当然,您的父页框/ iframe中的页面必须来自同一个域,否则浏览器将阻止它们之间的任何交互。

1

如果两个应用程序都托管在同一个域中,那么实现这一点很简单。

要调用一个函数从iframe的父窗口:

parent.myFunction(); 

要调用一个函数从父窗口的iframe:

document.myFrameName.myFunction(); 

(这就要求IFRAME有name属性集)。

如果这些应用程序位于不同的域中,则必须执行一些更大的hackery才能完成此操作。

1

您可以调用parent.functionname。或者你可以尝试IFrame事件,onLoad从父页面本身调用。