MoMo
MoMo

Reputation: 422

get attribute value of parent element from iframe content

Is there a way to get the value of attribute data-media if I'm running the script inside the iframecontent?

Code looks like this:

<div id="myDiv">
    <iframe data-create-resource-url="http://my.domain.url" 
       data-media="Song" 
       frameborder="0" 
       height="41" 
       src="https://different.domain.url" width="366">
     </iframe>
</div>

I've tried a lot of ways already like window.parent.document or top.document or window.parent and other available solutions but doesn't seem to work.

Upvotes: 4

Views: 13622

Answers (3)

pjehan
pjehan

Reputation: 850

Did you try this:

window.frameElement.getAttribute("data-media");

Upvotes: 4

Scott Rosenberg
Scott Rosenberg

Reputation: 1

Firstly, add an ID or CLASS to your iframe element (such as id='myframe')
You can then use jquery to access any of the attributes with:

var parent=window.parent.document.getElementById('#myframe');

Now simply get your attribute (not tested):

myAttr=$(parent).data("my-data-attribute") or
myAttr=$(parent).attr("myelement")

Upvotes: 0

Jehanzeb.Malik
Jehanzeb.Malik

Reputation: 3390

Well you dont really need to access the parent. As you are running the script inside iframe. iframe is currently the window for your script inside iframe. So accessing window element should give you the said attr. Try this (not tested):

alert($(window).attr('data-media'));

Upvotes: 6

Related Questions