我如何确定未加载横幅

时间:2017-06-02 16:57:46

标签: javascript jquery iframe google-tag-manager

我的横幅代码如下

<!-- Start GPT Async Tag -->
<script async='async' src='https://www.googletagservices.com/tag/js/gpt.js'></script>
<script>
  var gptadslots = [];
  var googletag = googletag || {cmd:[]};
</script>
<script>
  googletag.cmd.push(function() {
    //Adslot 2 declaration
    gptadslots.push(googletag.defineSlot('/268518576/Mydomain/Mydomain_mobile_300x600', [[300,600]], 'div-gpt-ad-3957884-2')
                             .addService(googletag.pubads()));

    googletag.pubads().enableSingleRequest();

    googletag.pubads().set('page_url', 'https://m.mydomain.com/');

    googletag.enableServices();
  });
</script>
<!-- End GPT Async Tag -->

<!-- Async AdSlot 2 for Ad unit 'Mydomain/Mydomain_mobile_300x600' ### Size: [[300,600]] -->
<!-- Adslot's refresh function: googletag.pubads().refresh([gptadslots[1]]) -->
<div id='div-gpt-ad-3957884-2'>
  <script>
    googletag.cmd.push(function() { googletag.display('div-gpt-ad-3957884-2'); });
  </script>
</div>
<!-- End AdSlot 2 -->

是否显示横幅,取决于定位政策。 在HTML横幅中是iframe。但我不能通过id得到这个iframe,就像这样

$('#5r3rr').contents().find('body').html();

1 个答案:

答案 0 :(得分:1)

1- 注意:出于安全原因,只有当两个文档位于同一个域same-origin policy.

时,才能从其他文档访问文档的内容

2-确保你的脚本在目标iframe之后加载,为此我建议做这样的事情(我假设给定的ID是正确的):

$(document).ready(function(){
      setTimeout(function(){ $('#5r3rr').contents().find('body').html(); }, 1000);
 });

3-检查id是否存在(或者iframe是否已加载)你可以这样做:

if($("#5r3rr").length == 0) {
  //it doesn't exist
}