我在网页上有一个div,用于在其中写出子div和子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_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.$('#google_ads_iframe_/123456/consumer/hco_3')
这样的代码,因为我不知道 ID 。每个iframe都需要“自我检测”它所在的"data-pos"
。
有人遇到过这种情况吗? (iframe与父网页在同一个域上投放)