get attribute value of parent element from iframe

2019-07-06 11:45发布

问题:

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.

回答1:

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'));


回答2:

Did you tried this:

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


回答3:

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")