在回调调用函数

时间:2016-08-09 14:22:30

标签: javascript iframe

我有一个复杂的网页,我无法轻松地在这里使用很多iframe重现。我的要求是在两个iframe之间进行通信。在其中一个场景中,我刷新第一个iframe,第二个保持不变。这两个iframe属于一个名为" portal"的父iframe,我可以在我的2个iframe中使用window.parent访问该内存空间。

我在iframe 2中有一个函数,它在我的第一个iframe上注册一个callBack(在这里:obj.onAddition)。

 addCB = function(callBack) {
        if (callBack != undefined) {
            callBack.token = obj.onAddition(function(a) {                                       
                callBack("ADDED")
            });             
        }
    };

在正常操作期间,我在iframe2上注册了我的回调。 callBack是iframe1上的一个函数。

当我刷新iframe1时,callBack fucntion被重新定义,并且其中的所有引用都被刷新。

obj.onAddition事件发生在iframe2中,应该调用iframe1中的回调函数,但由于原始函数不存在,有些缓存版本?它被调用,它会抛出一个错误,说" window"为null(我有一个窗口的引用)。

我的问题是:是否可以创建callBack函数的引用,即使在刷新之后,新的callBack也会被调用?

我可以理解这个解释只在我脑海中有意义,因为我知道底层代码。如果需要任何其他信息,请告诉我。

编辑:我无权修改iframe2的代码。

0 个答案:

没有答案