编程语言
首页 > 编程语言> > javascript-parent.document.getElementById(“…”)为null或不是IE7中的对象

javascript-parent.document.getElementById(“…”)为null或不是IE7中的对象

作者:互联网

我已经进行了一些研究,但是作为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操作.当我关闭treesaver时,我不再收到错误.

所以我想我现在的问题是,如何在父项加载完成之前延迟该功能?还是完全延迟了iframe文档的加载?

解决方法:

您可以继续合并父项,直到它为各自的子项加载以下内容:

function fun(){
    var slideTitle = api.getField('title');
    var el = parent.document.getElementById("slidecaptionOoH");
    if (el){
        el.innerHTML = slideTitle;
    } else{
        setTimeout(fun, 50);
    }
    el = null;
}

但这只是一个解决方法.

标签:null,iframe,parent-child,internet-explorer-7,javascript
来源: https://codeday.me/bug/20191202/2086600.html