Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 初始加载后,JQuery在iFrame中找不到元素_Javascript_Jquery_Caching_Iframe - Fatal编程技术网

Javascript 初始加载后,JQuery在iFrame中找不到元素

Javascript 初始加载后,JQuery在iFrame中找不到元素,javascript,jquery,caching,iframe,Javascript,Jquery,Caching,Iframe,我将特定于页面的html加载到一个iFrame中,其中包含我试图使用jquery引用的对象。当页面最初加载时,元素会按预期找到,但如果我转到新页面并返回或刷新页面,则在清除缓存并重新加载页面之前,元素将不再一致地找到(失败的频率更高) 我尝试过querySelectorAll和getElementsByClassName的不同组合,但它们仅在第一次使用时才能保持一致。这看起来像是一个比赛条件,但为什么第一次它会起作用呢 这个问题对任何人来说都很熟悉吗?事实证明,这确实是一个动态元素尚未提供参考的

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

我尝试过querySelectorAll和getElementsByClassName的不同组合,但它们仅在第一次使用时才能保持一致。这看起来像是一个比赛条件,但为什么第一次它会起作用呢


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

事实证明,这确实是一个动态元素尚未提供参考的竞赛条件。在我的例子中,iFrame元素是使用ExtJS创建的,因此它需要这个额外的监听器,这样我就可以在加载后采取行动(将这个延迟放到afterrender中来自另一篇文章,我需要找到并给予赞扬)


您是否已经尝试过使用Firefox Firebug扩展或Firefox开发者工具调试页面中的iFrame元素?在哪里引用iFrame对象以及如何创建iFrame?用jQuery还是用“标准方式”,用html?试着看一看
afterrender: function (cmp) {
   var element = cmp.getEl();
   element.on('load', function () {
       renderer.onIFrameReady();
   });
}