从iFrame中触发javascript事件

时间:2011-11-30 00:22:20

标签: javascript jquery jquery-plugins iframe

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

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

我正在考虑以某种方式将一个函数传递到可以从父级调用的iFrame应用程序,但我不知道该怎么做或者甚至可能。

3 个答案:

答案 0 :(得分:1)

如果两个应用都托管在同一个域中,那么完成此操作非常简单。

从iframe调用父窗口中的函数:

parent.myFunction();

从父窗口调用iframe中的函数:

document.myFrameName.myFunction();

(这要求iframe设置name属性。)

如果应用程序位于不同的域中,则必须执行更大的操作才能实现此目的。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

我不确定正确的方法是什么,但您可以在父框架中编写类似document.callback = function() { ... }的内容,在iframe中编写parent.document.callback()

当然,父框架/ iframe中的网页必须来自同一个域或浏览器才会阻止它们之间的任何互动。