Pav
Pav

Reputation: 2328

Javascript: get iframe id within loaded page

I've got a page that has an iframe. Every time the page loads, iframe gets unique id and name assigned to it. I can get the iframe name within loaded iframe like so:

alert(parent.window.frames[window.name].name);

But when i try to get the id value:

alert(parent.window.frames[window.name].id);

I get undefined?

Is it possible to get the id attribute of the iframe within loaded page?


http://jsfiddle.net/cqFtB/


<iframe id="lyygi8stwZSANUEh" src="http://example.com" name="zma82vRVe18xbAqW" title="Awesome Iframe">

example.com:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Awesome Iframe</title>
</head>
<body>
    <script type="text/javascript"> 
        alert(parent.window.frames[window.name].name);
    </script>
</body>
</html>

Upvotes: 28

Views: 78132

Answers (3)

Michael B.
Michael B.

Reputation: 1

In the iframe this is working for me. But only if the iframe and the parent share the same domain:

this.frameElement.attributes.id

Upvotes: 0

user8788753
user8788753

Reputation: 1

You have to insert the name of the iframe:

alert(parent.window.frames['zma82vRVe18xbAqW'].name);

Upvotes: -2

Boris Zbarsky
Boris Zbarsky

Reputation: 35064

Try window.frameElement.id in the iframe.

Upvotes: 69

Related Questions