初始加载后,JQuery无法在iFrame中找到元素

时间:2013-03-06 21:54:33

标签: javascript jquery caching iframe

我将页面特定的html加载到iFrame中,其中包含我试图用jquery引用的对象。当页面最初加载时,元素会按预期找到,但是如果我转到新页面并返回或刷新页面,则不再一致地找到元素(更频繁地失败,然后更新),直到我清除缓存并重新加载页面。

我尝试了querySelectorAll和getElementsByClassName的不同组合,但它们只是第一次一致地工作。这看起来像是竞争条件,但为什么它会第一次工作?

这个问题对任何人来说都很熟悉吗?

1 个答案:

答案 0 :(得分:0)

事实证明这是一种竞争条件,其中动态元素尚未可供参考。在我的情况下,iFrame元素是使用ExtJS创建的,所以它需要这个额外的监听器,所以我可以在加载后采取行动(将此延迟推迟到另一个帖子,我需要找到并给予信任);

afterrender: function (cmp) {
   var element = cmp.getEl();
   element.on('load', function () {
       renderer.onIFrameReady();
   });
}