首页 > Javascript在父子页面传递object的document问题

Javascript在父子页面传递object的document问题

我在iframe里的页面定义了一个object,比如:

var obj = {
    create : function ()
    {
        var elem = document.createElement("h1");
        elem.appendChild(document.createTextNode("a h1 create"));
        document.body.appendChild(elem);
    }
}

然后在子页面的一个onclick事件中执行如下动作:

if(parent){
    parent.obj = obj;
    parent.obj.create();
}

结果h1仍然在子页面被创建,请问如何给父页面传递obj对象才能避免这个问题?


你的obj.create方法中的document始终指代的iframe的document,把改成parent的document就行,比如做出如下改动就可以了:

var obj = {
    create : function (document) {
        var elem = document.createElement("h1");
        elem.appendChild(document.createTextNode("a h1 create"));
        document.body.appendChild(elem);
    }
}

if(parent){
    parent.obj = obj;
    parent.obj.create(parent.document);
}
【热门文章】
【热门文章】