Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用AJAX加载的双击广告(DFP)';不要在Firefox中显示广告_Jquery_Google Dfp - Fatal编程技术网

Jquery 使用AJAX加载的双击广告(DFP)';不要在Firefox中显示广告

Jquery 使用AJAX加载的双击广告(DFP)';不要在Firefox中显示广告,jquery,google-dfp,Jquery,Google Dfp,我使用DoubleClick For Publishers(DFP)的广告。这是网页: 在页面加载事件之后,我通过jQueryAjax加载DFP广告,以使各种搜索小部件尽可能快地用于用户交互。这个过程看起来像这样 将初始DFP头调用放入文档头中 <head> ... <script type='text/javascript'> var googletag = googletag || {}; googletag.cmd = googletag.cmd || []; (f

我使用DoubleClick For Publishers(DFP)的广告。这是网页:

在页面加载事件之后,我通过jQueryAjax加载DFP广告,以使各种搜索小部件尽可能快地用于用户交互。这个过程看起来像这样

将初始DFP头调用放入文档头中

<head>
...
<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.defineSlot('/9358962/HP-300x250', [300, 250], 'div-gpt-ad-1353002461867-0').addService(googletag.pubads());
googletag.defineSlot('/9358962/HP-460x60', [468, 60], 'div-gpt-ad-1353002461867-1').addService(googletag.pubads());
googletag.defineSlot('/9358962/HP-728x90', [728, 90], 'div-gpt-ad-1353002461867-2').addService(googletag.pubads());
googletag.defineSlot('/9358962/HP-LAF-160x600', [160, 600], 'div-gpt-ad-1353002461867-3').addService(googletag.pubads());
googletag.defineSlot('/9358962/HP-RAF-160x600', [160, 600], 'div-gpt-ad-1353002461867-4').addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
</script>
....
</head>

...
var googletag=googletag | |{};
googletag.cmd=googletag.cmd | |[];
(功能(){
var gads=document.createElement('script');
gads.async=true;
gads.type='text/javascript';
var usesssl='https:'==document.location.protocol;
gads.src=(使用SSL?'https:':'http:')+
“//www.googletagservices.com/tag/js/gpt.js”;
var node=document.getElementsByTagName('script')[0];
node.parentNode.insertBefore(gads,节点);
})();
googletag.cmd.push(函数(){
googletag.defineSlot(“/9358962/HP-300x250”,[300250],“div-gpt-ad-1353002461867-0”).addService(googletag.pubads());
googletag.defineSlot(“/9358962/HP-460x60”,[468,60],“div-gpt-ad-1353002461867-1”).addService(googletag.pubads());
googletag.defineSlot(“/9358962/HP-728x90”,[728,90],“div-gpt-ad-1353002461867-2”).addService(googletag.pubads());
googletag.defineSlot(“/9358962/HP-LAF-160x600”,[160600],“div-gpt-ad-1353002461867-3”).addService(googletag.pubads());
googletag.defineSlot(“/9358962/HP-RAF-160x600”,[160600],“div-gpt-ad-1353002461867-4”).addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
....
创建一个空div作为占位符

<div id='horizontalTANBanner'></div>  

页面加载后,使用jqueryajax插入代码以获取广告

<div id='horizontalTANBanner'>  
  <!-- HP-728x90 -->
  <div id='div-gpt-ad-1353002461867-2' style='width:728px; height:90px;'>
  <script type='text/javascript'>
  googletag.cmd.push(function() { googletag.display('div-gpt-ad-1353002461867-2'); });
  </script>
  </div>
</div>

googletag.cmd.push(函数(){googletag.display('div-gpt-ad-1353002461867-2');});
谷歌加载了更多的JavaScript来实际调用该广告。我看到它是使用Firebug插入的

<div id="horizontalTANBanner">
<div id="div-gpt-ad-1353002461867-2" style="width:728px; height:90px;">
<iframe id="google_ads_iframe_/9358962/HP-728x90_0" width="728" scrolling="no" height="90" frameborder="0" name="google_ads_iframe_/9358962/HP-728x90_0" marginwidth="0" marginheight="0" style="border: 0px none;">
<html>
</iframe>
<iframe id="google_ads_iframe_/9358962/HP-728x90_0__hidden__" width="0" scrolling="no" height="0" frameborder="0" name="google_ads_iframe_/9358962/HP-728x90_0__hidden__" marginwidth="0" marginheight="0" style="border: 0px none; visibility: hidden; display: none;">
</div>
</div>

除了Firefox(浏览器、Chrome、Opera、Safari),我在每个浏览器中都能看到广告。我与其他用户确认,他们无法在Firefox中看到广告。如何在Firefox中显示广告


我在DFP论坛上问了这个问题,但这些问题都不是技术性的,他们最好的回答是“停止使用AJAX”,但访问者体验要好得多,我希望谷歌不会因为加载速度太慢而对我的页面进行更好的排名,所以我讨厌停止使用它。

我认为你可能过于复杂化了DFP插槽的加载

我认为这个代码块是不起作用的部分

  /*** Populate DFP ads ***/
  var _pageID=$("body").find_class("pageID-");
  $.get('/common/modules/ajax-get-list.php',{pageID:_pageID},function(_data){
    //alert('data='+_data);
    if(_data!=''){
      var _arrDFPList=_data.split(',');
      for(var i=0;i<_arrDFPList.length;i++){
        //alert('DFP id = '+_arrDFPList[i]);
        $.get('/common/modules/ajax-get-one.php',{id:_arrDFPList[i]},function(_oneData){
          var _arrDFPOne=_oneData.split('<<<>>>');
          //alert('id = '+_arrDFPOne[0]+' and content = '+_arrDFPOne[1]);
          $("#"+_arrDFPOne[0]).append(_arrDFPOne[1]);
          //$("#"+_arrDFPOne[0]).html(_arrDFPOne[1]);
        });
      }
    }

    /*
    if(_data!=''){
      var arrDFPList=_data.split(',');
      $.get('/common/modules/def-get-one.php',{},function(_oneData){
      });
    }*/
  });
  /*** END Populate DFP ads ***/
/***填充DFP广告***/
变量pageID=$(“body”)。查找类(“pageID-”);
$.get('/common/modules/ajax get list.php',{pageID:_pageID},函数(_data){
//警报(“数据=”+_数据);
如果(_数据!=''){
var _arrDFPList=_data.split(',');

for(var i=0;iThanks!不知怎的,我错过了你回答这个问题的机会。效果很好!这个(很好)项目的链接是为那些后来的人准备的:googletag.defineSlot(“/55334047/MozioTest”,[180150],'div-gpt-ad-1372798266265-0')。addService(googletag.pubads());这是我的标签。我看到了55334047的位置、尺寸等,但似乎您遗漏了一个参数,第二个数字1372798266265-0在哪里?正如我在电子邮件中提到的,我的插件没有使用“div-gpt-ad-1372798266265-0”字符串,因为它不需要。这个字符串只是一个自动生成的唯一标识符,并且我的脚本在内部生成自己的脚本。感谢您的jQuery插件,您现在正在拯救我的生命;)
<html>
<head>
    <title>DFP TEST</title>

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script src="https://raw.github.com/coop182/jquery.dfp.js/master/jquery.dfp.min.js"></script>

</head>
<body>

<div class="adunit" id="HP-300x250" data-dimensions="300x250"></div>
<div class="adunit" id="HP-460x60" data-dimensions="460x60"></div>
<div class="adunit" id="HP-728x90" data-dimensions="728x90"></div>
<div class="adunit" id="HP-LAF-160x600" data-dimensions="160x600"></div>
<div class="adunit" id="HP-RAF-160x600" data-dimensions="160x600"></div>

<script>
$(function () {
    $.dfp('9358962');
});
</script>

</body>
</html>