Javascript:如何从iframe中获取动态编写的iframe的祖先元素?
我在一个页面上有一个div,谷歌用它来写一个child div和child iframe广告Javascript:如何从iframe中获取动态编写的iframe的祖先元素?,javascript,jquery,iframe,Javascript,Jquery,Iframe,我在一个页面上有一个div,谷歌用它来写一个child div和child iframe广告 <div id="ads-pos-111" class="module ad ad-111" data-pos="922"></div> 编写iframe广告时,DOM如下所示: <div id="ads-pos-111" class="module ad ad-111" data-pos="922"> <div id="google_ads_if
<div id="ads-pos-111" class="module ad ad-111" data-pos="922"></div>
编写iframe广告时,DOM如下所示:
<div id="ads-pos-111" class="module ad ad-111" data-pos="922">
<div id="google_ads_iframe_/123456/consumer/hco_3__container__" style="border: 0pt none;">
<iframe id="google_ads_iframe_/123456/consumer/hco_3" title="3rd party ad content" name="google_ads_iframe_/123456/consumer/hco_3" width="1" height="8" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" srcdoc="" style="border: 0px; vertical-align: bottom; width: 100%; height: 578px; margin: 0px;"></iframe>
</div>
</div>
我想在iframe中编写Javascript代码,它可以遍历它的祖先以获得上面两个祖先的data pos
属性的值。我想使用类似于jQuery.closest('.data pos')
的东西
我不能使用iframe名称作为锚定点,因为该名称是由Google动态生成的。我也不能使用父div ID,因为页面上可能有多个广告。因此,我不能使用像window.parent.$(“#谷歌广告/iframe\u123456/consumer/hco\u3”)这样的代码,因为我不知道ID。每个iframe都需要“自我检测”它所在的“数据位置”
有人遇到过这种情况吗?
(iframe与父页面在同一个域上提供)如果没有跨域问题,请参阅。页面上是否只有一个iframe?如果是这样的话,只需使用$('iframe').parent().parent().attr('data-pos')即可在渲染后获得所需内容。这里有一个jsbin:@yourSweeter:Google正在提供大量广告,页面上有很多iFrame。因此,你的语法帮不了我。蒂姆的答案似乎就是我想要的。@蒂姆:谢谢你的链接。我不知道window.frameElement存在。刚刚测试了它,我就能够得到值。如果没有跨域问题,请参阅。页面上是否只有一个iframe?如果是这样的话,只需使用$('iframe').parent().parent().attr('data-pos')即可在渲染后获得所需内容。这里有一个jsbin:@yourSweeter:Google正在提供大量广告,页面上有很多iFrame。因此,你的语法帮不了我。蒂姆的答案似乎就是我想要的。@蒂姆:谢谢你的链接。我不知道window.frameElement存在。只是测试了一下,我就能得到它的值。