我使用DFP广告管理系统(DFP)的广告.这是页面: http://www.ifly.com

我在页面加载事件后通过jQuery AJAX加载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','div-gpt-ad-1353002461867-4').addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
</script>
....
</head>

创建一个空div作为占位符.

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

页面加载后,使用jQuery AJAX插入代码来获取广告.

<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>

Google会加载更多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(IE,Chrome,Opera,Safari).我已与其他用户确认他们无法在Firefox中看到广告.如何在Firefox中展示广告?

我在DFP广告管理系统论坛上提出了这个问题,但这不是技术问题,他们的最佳答案是“停止使用AJAX”,但访问者体验要好得多,我希望Google能够更好地对我的网页进行排名,因为加载速度不是很慢,所以我讨厌停止使用它.

解决方法

我认为你可能会因为你的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 ***/

我认为firefox可能只是附加了广告位显示代码,但未能对其进行评估.

几个月前我遇到了一个类似的问题,我们希望在加载后加入广告,并且保持一切都非常快速而简单…我想出的解决方案是创建jquery.dfp.js.这个插件允许你推迟DFP的负载完全直到你想要它被加载你也不需要预先定义你正在做的所有插槽……

例如,这是您当前的主页,其中只包含使用我的插件展示广告所需的基本要素:

<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>

我认为这是一种更好的做事方式.如果您有任何疑问,请告诉我.

jquery – 使用AJAX加载的DoubleClick广告(DFP)不会在Firefox中展示广告的更多相关文章

  1. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. ios – 当我在xCode 5中验证我的应用程序时,获取错误的广告标识符[IDFA]错误

    在验证我的应用程序时,我收到错误消息“广告标识符使用不当.您的应用包含广告标识符[IDFA]API,但您尚未遵守iOS中的限制广告跟踪设置.”我在广告标识符的准备上传页面上检查了“是”.我在我的应用程序中使用revmob广告和flurry分析(COCOS2D-X项目).如何解决这个问题,我已经尝试了很多但没有成功.我使用下面的代码进入appdelegate但没有运气.解决方法这个IDFA问题今天仍

  3. iOS上的自定义BLE广告

    有没有使用私有API或越狱的替代品?解决方法我对iOS的体验是,如果它没有在API中公开,除了越狱之外没有办法解决.对于蓝牙低功耗,API处于GAP/GATT级别,而较低级别暴露的则很少.广告是LL(链接层)功能.为了说明访问受限制的限制:扫描BLE设备时,您将无法访问广告商的MAC地址iOS.在Android中你有它.

  4. ios – 蓝牙LE,scanForPeripheralsWithServices在后台增加速度

    我在iPhone5S上使用蓝牙LE,我做了以下工作:>我有一个蓝牙外设,我配置它在所有三个蓝牙广告频道(37,38和39)上宣布每20秒.>我已经配置了我的应用程序与UIBacgroundModes=蓝牙中央在Info.plist>我已经启动了一个scanForperipheralsWithServices,如下所示码:目前的状态是:>在前台模式下,当我启动外围设备时(一秒钟内),应用程序会迅速收

  5. 在IOS9中的Cordova应用程序使用JQuery / Javascript的window.history问题

    在两个测试用例中唯一改变的是Cordova.js.解决方法我看到这是几个星期前,但我会发布这个,以防其他人遇到它.听起来它可能与iOS9中的哈希更改生成的导航事件有关.如果是这样,可以将其添加到index.html以禁用哈希侦听:

  6. iOS 5上的jQuery事件

    解决方法在Apple开发论坛上由一个人回答:我需要在将元素添加到DOM之后才绑定(),如下所示:

  7. 2014年4月/ iOS 7 – 有没有办法跟踪iOS应用的转换,以便在不使用IDFA的情况下将内容下载到不同的广告系列来源?

    解决方法它现在似乎Apple特别允许使用IDFA跟踪安装.更新我的应用程序时,我看到:选择第二个选项没有出错,应用程序已获批准.

  8. 应用程序关闭时的iOS任务

    我正在构建一个应用程序,通过ajax将文件上传到服务器.问题是用户很可能有时不会有互联网连接,并且客户希望在用户重新连接时安排ajax调用.这可能是用户在离线时安排文件上传并关闭应用程序.应用程序关闭时可以进行ajax调用吗?

  9. 使用swift集成移动广告聚合平台

    OverridefuncviewDidLoad(){super.viewDidLoad()bannerView.adUnitId=“ca-app-pub-706657930853688714815911455”bannerView.rootViewController=selfself.view.addSubViewVarrequest:GADRequest=GADRequest()request.testDevices={“”}bannerView.loadRequest}Overridefuncdid

  10. swift – 为什么我的facebook插页式广告不会显示在我的应用中?

    他们肯定也能在这里提供帮助.thispage之后的某个地方我相信你可以找到适当的现场支持作为付费广告客户.

随机推荐

  1. jquery-plugins – 是否可以使用猫头鹰旋转木马实现循环/无限轮播?

    我正在使用猫头鹰旋转木马,它的工作完美,除了它不支持循环/无限滚动.我没有搜索google和stackoverflow的想法,没有运气.有没有人在猫头鹰旋转木马上实现圆形/无限滚动?

  2. jQuery动态输入字段焦点

    我想使用以下jQuery向我的页面动态添加一个输入字段:在这样做之后,我希望输入字段具有闪烁的文本光标的焦点,所以我想在创建后立即输入.有人可以告诉我我该怎么办?

  3. jquery – 为什么$(window).height()这样错了?

    我试图获取当前浏览器的视口高度,使用但我得到的价值观太低了.当视口高度高达850px时,我从height()获取大约350或400像素的值.这是怎么回事?

  4. jquery – 如果在此div之外和其他draggables内部(使用无效和有效的还原选项),则可拖动恢复

    例如这样但是由于明显的原因,这不行.我可以说这个吗?

  5. 创建一个jQueryUI 1.8按钮菜单

    现在jQueryUI1.8已经出来了,我正在浏览更新,并且遇到了新的Buttonwidget,特别是SplitButtonwithadropdown的演示之一.这个演示似乎表明Buttonwidget可以在这里创建一个下拉菜单.作为讨论的问题,我想知道使用这个新的Button小部件来创建一个下拉菜单有什么方法.干杯.解决方法您必须在按钮下方列出一个列表,方式类似于此处为自动完成提供的演示:http

  6. 灰色divs使用JQuery

    我试图使用这个代码:为了淡出一大堆名为MySelectorDiv的div,唯一的是,它只会淡出第一个而不是所有的div,为什么呢?

  7. 使用jQuery动态插入到列表中

    我有两个订单列表在彼此旁边.当我从一个列表中选出一个节点时,我想按照字母顺序插入到另一个列表中.抓住的是我想要把一个元素放在另一个列表中,而不刷新整个列表.奇怪的是,当我插入到右边的列表中,它工作正常,但是当我插入到左边的列表中时,顺序永远不会出来.我也尝试将所有内容读入数组,并将其排序在一起,以防止children()方法没有按照显示顺序返回任何东西,但是我仍然得到相同的结果.这是我的jQuer

  8. 没有回应MediaWiki API使用jQuery

    我试图从维基百科获取一些内容作为JSON:但我没有回应.如果我粘贴到浏览器的地址栏,就像我得到预期的内容.怎么了?解决方法您需要通过添加&callback=?来触发具有$.getJSON()的JSONP行为?在querystring上,像这样:Youcantestithere.没有使用JSONP,你正在击中same-originpolicy,阻止XmlHttpRequest获取任何数据.

  9. jQuery Ajax请求每30秒

    我有这段代码,但是有些人在我的网站上的值可能会改变.我需要每30秒钟更新一次#financediv.这可以做吗解决方法您可以将代码放在单独的函数中,如下所示:然后每30秒建立一个定时器调用该函数:祝你好运!总结以上是DEVMAX为你收集整理的jQueryAjax请求每30秒全部内容。如果觉得DEVMAX网站内容还不错,欢迎将DEVMAX网站推荐给好友。

  10. jquery – keypress事件在IE和Chrome中不工作,但在FF工作

    任何想法为什么会这样发生?我通常认为Chrome会更加宽容代码?这是我的按键键.我错过了什么吗?右图();和leftimage();是应该工作的功能,因为我在其他地方使用这些功能谢谢您的帮助!

返回
顶部