我有一个横幅,代码如下
<!-- 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- 注意:出于安全原因,只有当两个文档位于同一域中时,才可以从另一个文档访问该文档的内容 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
}
关于javascript - 我如何确定横幅未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44333978/