我做了一些研究,但作为一个JavaScript新手,我似乎无法为我的具体案例工作:
我在页面中有一个iframe,在iframe的文档中,我有以下代码:
function fun(){
var slideTitle = api.getField('title');
parent.document.getElementById("slidecaptionOoH").innerHTML = slideTitle;
在父文件中,我有:
<h4 id="slidecaptionOoH"></h4>
我已尝试在标记之间添加注释,但我仍然在IE7中收到错误。页面显示正常,但显然我不希望别人看到错误。
嗯,我想我已经把问题缩小了一点。我认为这可能与iframe文档在父完成加载之前执行的函数有关。我在父级中使用了treesaver.js框架,这涉及到繁重的DOM操作。当我关闭treeaver时,我不再收到错误。
所以我想我现在的问题是,如何延迟功能直到父完成加载?或者延迟加载iframe文档?
答案 0 :(得分:3)
您可以继续汇集父级,直到它将相应的子级加载到:
function fun(){
var slideTitle = api.getField('title');
var el = parent.document.getElementById("slidecaptionOoH");
if (el){
el.innerHTML = slideTitle;
} else{
setTimeout(fun, 50);
}
el = null;
}
但这只是一个(污垢)工作。