我在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);
}