Javascript 等待 iframe 重新加载

标签 javascript iframe extjs4

修复以下 JavaScript 代码包含我的最新任务:

// submit the form in the iframe:
document.getElementsByTagName("iframe")[0].contentWindow.dojo.byId(buttonId).click(); 
// wait 50msec for result to be loaded:
window.setTimeout(function(){
    // get documentId of newly created document from result
    var docId = document.getElementsByTagName("iframe")[0].
                    contentWindow.dojo.byId("documentIdDiv").innerHtml;
    // put documentId into the outer form
    Ext.getCmp("form").getForm().findField("documentId").setValue(docId);
    // submit outer form
    Ext.getCmp("form").getForm().submit({
        ...
    });
}, 50);
// TODO: Error if result is not available after 50ms.

我现在必须找到一种方法来在 iframe 重新加载后执行匿名函数。

我想过在 iframe 上使用 body onload,但我不能,因为我必须将它插入到新页面的正文中。

最佳答案

哈哈,尝试让它在 JSFiddle 上工作更加困难。因为他们加载 javascript 和 html 是分开的。无论如何,这应该可行。

DEMO

//function that happens when loaded
function loaded() {
    b.innerHTML = 'Call Back Worked';
};
//gets elements and sets them to variables
var b = document.getElementById('callback')
var a = document.getElementById("myframe");
//listens to load event
a.addEventListener("load", loaded());

关于Javascript 等待 iframe 重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27547388/

相关文章:

extjs - 如何使用Extjs4在网格过滤功能中应用精确匹配?

javascript - 是否可以使用 jQuery 获取最小值和最大值并将其呈现在另一个输入字段中?

javascript - 切换 Canvas 上下文

javascript - 查询。仅在加载所有 iframe 时执行代码

javascript - 如何将点击事件添加到 Ext.Img?

javascript - ExtJS RowExpander 插件奇怪的 colspan

javascript - 填充 JScript 数组以便在 SELECT 上重用

javascript - 当分享在 Facebook 上重新分享时,为什么 Facebook 会更改 "FB.ui - picture"?

javascript - 如何防止 iframe 从父容器中窃取放置事件?

java - 如何将 jsp 中检索到的服务器响应映射到 iFrame