繁体   English   中英

有没有办法在document.ready上加载doubleclick.net广告代码?

[英]Is there a way to load doubleclick.net ad tags on document.ready?

我试图在document.ready上加载doubleclick.net广告代码,但广告没有显示。

HTML

<script language="JavaScript" type="text/javascript" data-ad-src="http://ad.ch.doubleclick.net/adj/swisswebcams/;lng=de;kw=home;tile=3;dcopt=ist;sz=160x600;ord=1874680027?"></script>

JavaScript(需要jQuery)

$(document).ready(function(){
  $('script[data-ad-src]').each(function(){
    this.src = $(this).attr('data-ad-src');
    $(this).removeAttr('data-ad-src');
  });
});

该脚本在生成的源代码中显示正确,但是不再加载广告。 脚本是否需要document.ready事件? 是否有办法在document.ready之前加载此脚本-或再次触发document.ready?

PS:我更喜欢使用“ sync”标签而不是“ async”标签,因为“ async”正在创建一个iFrame,当动态显示第三方网络时,该iFrame的宽度/高度不再灵活。

尝试这个

<script>
var wr = document.write, dchtml=[];
document.write=function(str) {
 // you may want to catch '<script' and add the src to the head when needed
 dchtml.push(str);
}
</script>
<script language="JavaScript" type="text/javascript" data-ad-src="http://ad.ch.doubleclick.net/adj/swisswebcams/;lng=de;kw=home;tile=3;dcopt=ist;sz=160x600;ord=1874680027?"></script>
<script>
$(function() { // assuming jQuery is loaded before this block
  $("#whereIWantMyAds").html(dchtml.join("\n"));
});
<script>

检查您的JavaScript错误。 实际上,这很可能是脚本异步下载的问题:我敢肯定。 这在doubleclick脚本中(从您提供的链接下载:

document.write('\x3cdiv...

document.write不起作用,因为document.ready已关闭文档DOM。 您特别需要将代码添加到DOM中的元素,而使用document.write则无法完成。 为了完成这项工作,您必须联系doubleclick并让他们更改每个document.write到将代码附加到页面中的元素上的东西,或异步地将代码(包括脚本)加载到iframe中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM