Adrian
Adrian

Reputation: 1

How to call iframe's function from this iframe

I have an iframe created in Javascript with some function 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");
};

Document loaded in this iframe should call function f():

<script ...>f();</script>

And this works perfectly in Firefox but Opera tells, f() is undefined.

Is there any solution?

Adrian.

Upvotes: 0

Views: 311

Answers (1)

RoToRa
RoToRa

Reputation: 38431

It's a good change there is a race condition so that the document in the iframe has finished loading before you set the function. It probably would be better to have the iframe document call a function in the parent document instead.

Upvotes: 1

Related Questions