【问题标题】:How to call iframe's function from this iframe如何从此 iframe 调用 iframe 的函数
【发布时间】:2010-05-06 11:51:30
【问题描述】:

我有一个用 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() 是未定义的。

有什么解决办法吗?

阿德里安。

【问题讨论】:

    标签: javascript function iframe call opera


    【解决方案1】:

    这是一个很好的变化,有一个竞争条件,以便 iframe 中的文档在您设置函数之前已经完成加载。让 iframe 文档调用父文档中的函数可能会更好。

    【讨论】:

    • 你是对的。大概这就是原因。实际上我调用父 iframe 函数并且它有效。这对我来说不是最好的解决方案,但很高兴知道为什么 self.f() 在 Opera 中不起作用。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-18
    • 1970-01-01
    • 2010-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多