Reputation: 747
How to call a function in an iframe from the parent page?
Upvotes: 11
Views: 30642
Reputation: 1453
$("iframe").each(function()
{
$(this).one("load", function()
{
$(this)[0].contentWindow.myFunction();
});
});
It is necessary to loaded iframe ;)
Upvotes: 3
Reputation: 344575
As long as the framed page is on the same domain (or on a sub-domain, and you're setting document.domain), you need to access the contentWindow property of the frame element. For example:
$("#myFrame")[0].contentWindow.myFunction();
// or, if jQuery hasn't made you lazy
document.getElementById("myFrame").contentWindow.myFunction();
Most browsers also support contentDocument, but Internet Explorer doesn't. If your framed page is on a different domain then you'll get an Access Denied error.
Upvotes: 19
Reputation: 10015
You can select the iFrame using its id
document.getElementById(iframeId).contentDocument
but I am not sure you can access its JavaScript, especially if child iFrame is from different domain
Upvotes: 0