我在Javascript中创建了一个iframe,其函数为f():
var iframe = document.createElement("iframe");
$(iframe).attr({
width: 0,
height: 0,
frameborder: 0,
src: this.options.url,
name: id,
id: id
});
document.body.appendChild(iframe);
iframe.contentWindow.f = function(data) {
alert("test");
};
在此iframe中加载的文档应调用函数f():
<script ...>f();</script>
这在Firefox中完美运行但是Opera说,f()未定义。
有没有解决方案?
阿德里安。
答案 0 :(得分:1)
这是一个很好的变化,有一个竞争条件,所以在设置函数之前,iframe中的文档已经完成加载。将iframe文档调用父文档中的函数可能会更好。