2012-09-30 297 views
0

我使用的是DoubleClick for Publishers (DFP) ads,但是当我使用jquery append时,在一个div中加载DoubleClick for Publishers (DFP) ads,广告区块为空。如何做到这一点,使广告可以显示nomorlly?jquery在一个div中附加DFP广告管理系统(DFP)广告

Demo link

感谢。

<?php header("Content-type: text/html; charset=utf-8"); ?> 
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> 
<?php if(!$_POST['number']){ ?> 
<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js?ver=1.7.2'></script> 
<script type='text/javascript'> 
    var googletag = googletag || {}; 
    googletag.cmd = googletag.cmd || []; 
    (function() { 
    var gads = document.createElement('script'); 
    gads.async = true; 
    gads.type = 'text/javascript'; 
    var useSSL = 'https:' == document.location.protocol; 
    gads.src = (useSSL ? 'https:' : 'http:') + 
    '//www.googletagservices.com/tag/js/gpt.js'; 
    var node = document.getElementsByTagName('script')[0]; 
    node.parentNode.insertBefore(gads, node); 
    })(); 
</script> 
<script type='text/javascript'> 
    googletag.cmd.push(function() { 
     googletag.pubads().enableAsyncRendering(); 
     googletag.defineSlot('/17177879/ads_300_250_white_right', [300, 250], 'div-gpt-ad-1-1').addService(googletag.pubads()); 
     googletag.pubads().enableSingleRequest(); 
     googletag.enableServices(); 
    }); 
</script> 
<script type="text/javascript"> 
jQuery(document).ready(function(){ 
    $(".bnews").live('click',function(){ 
     var nnum = $(this).attr('rel'); 
     googletag.cmd.push(function() { 
      googletag.pubads().enableAsyncRendering(); 
      googletag.defineSlot('/17177879/ads_300_250_white_right', [300, 250], 'div-gpt-ad-' + nnum + '-1').addService(googletag.pubads()); 
      googletag.pubads().enableSingleRequest(); 
      googletag.enableServices(); 
     }); 
     $(this).css('display','none'); 
     $.ajax({ 
      url: "1.php", 
      dataType: "html", 
      type: 'POST', 
      data: 'number=' + nnum, 
      success: function(data){ 
       $("#cc-wrap").append(data); 
      }    
     }); 
    }); 
}); 
</script> 
<h1 class="bnews" rel="2">Append to div</h1> 
<!-- some content here --> 
<!-- ads_300_250_white_right --> 
<div id='div-gpt-ad-1-1' style='width:300px; height:250px;'> 
<script type='text/javascript'> 
googletag.cmd.push(function() { googletag.display('div-gpt-ad-1-1'); }); 
</script> 
<div id="cc-wrap"></div> 
<?php }else{ ?> 
<h1 class="bnews" rel="<?php echo ($_POST['number']+1); ?>">Append to div</h1> 
<!-- some content here --> 
<!-- ads_300_250_white_right --> 
<div id='div-gpt-ad-<?php echo $_POST["number"]; ?>-1' style='width:300px; height:250px;'> 
<script type='text/javascript'> 
googletag.cmd.push(function() { googletag.display('div-gpt-ad-<?php echo $_POST["number"]; ?>-1'); }); 
</script> 
<?php } ?> 

回答

1

您需要在两个通话删除对googletag.pubads()。enableSingleRequest()函数...它看起来像这样从请求更多的广告已追加后阻止你。当我在两个地方注释到你正在使用的那段代码时,脚本开始工作......但它仍然有点破碎。

这是注释,这样它的工作线的例子:

<?php header("Content-type: text/html; charset=utf-8"); ?> 
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> 
<?php if(!$_POST['number']){ ?> 
<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js?ver=1.7.2'></script> 
<script type='text/javascript'> 
    var googletag = googletag || {}; 
    googletag.cmd = googletag.cmd || []; 
    (function() { 
    var gads = document.createElement('script'); 
    gads.async = true; 
    gads.type = 'text/javascript'; 
    var useSSL = 'https:' == document.location.protocol; 
    gads.src = (useSSL ? 'https:' : 'http:') + 
    '//www.googletagservices.com/tag/js/gpt.js'; 
    var node = document.getElementsByTagName('script')[0]; 
    node.parentNode.insertBefore(gads, node); 
    })(); 
</script> 
<script type='text/javascript'> 
    googletag.cmd.push(function() { 
     googletag.pubads().enableAsyncRendering(); 
     googletag.defineSlot('/17177879/ads_300_250_white_right', [300, 250], 'div-gpt-ad-1-1').addService(googletag.pubads()); 
     //googletag.pubads().enableSingleRequest(); 
     googletag.enableServices(); 
    }); 
</script> 
<script type="text/javascript"> 
jQuery(document).ready(function(){ 
    $(".bnews").live('click',function(){ 
     var nnum = $(this).attr('rel'); 
     googletag.cmd.push(function() { 
      googletag.pubads().enableAsyncRendering(); 
      googletag.defineSlot('/17177879/ads_300_250_white_right', [300, 250], 'div-gpt-ad-' + nnum + '-1').addService(googletag.pubads()); 
      //googletag.pubads().enableSingleRequest(); 
      googletag.enableServices(); 
     }); 
     $(this).css('display','none'); 
     $.ajax({ 
      url: "1.php", 
      dataType: "html", 
      type: 'POST', 
      data: 'number=' + nnum, 
      success: function(data){ 
       $("#cc-wrap").append(data); 
      } 
     }); 
    }); 
}); 
</script> 
<h1 class="bnews" rel="2">Append to div</h1> 
<!-- some content here --> 
<!-- ads_300_250_white_right --> 
<div id='div-gpt-ad-1-1' style='width:300px; height:250px;'> 
<script type='text/javascript'> 
googletag.cmd.push(function() { googletag.display('div-gpt-ad-1-1'); }); 
</script> 
<div id="cc-wrap"></div> 
<?php }else{ ?> 
<h1 class="bnews" rel="<?php echo ($_POST['number']+1); ?>">Append to div</h1> 
<!-- some content here --> 
<!-- ads_300_250_white_right --> 
<div id='div-gpt-ad-<?php echo $_POST["number"]; ?>-1' style='width:300px; height:250px;'> 
<script type='text/javascript'> 
googletag.cmd.push(function() { googletag.display('div-gpt-ad-<?php echo $_POST["number"]; ?>-1'); }); 
</script> 
<?php } ?> 

让我知道,如果你有任何问题。

0

只需将广告代码块放入iframe中即可使用,您不能仅复制Google广告代码脚本

相关问题