2015-08-14 16 views
2

我们有一个包含内容区域和边栏的自适应网站。当网站响应或在移动设备上加载时,侧栏会在内容区域下方。问题在于,页面顶部的mrec现在太低了,我们需要在页面中使其更高。移动DFP广告发布文档加载

因此,预渲染我弹出一些的div像这样

<div class="ad-inject-ad ad-mrec2"></div> 

这可以通过mrec1根据3页,位置等上

我也缠上了我的侧边栏mrecs可识别类如ad-medrec2这样我就可以再移动

$('.sidebar .ad-medrec2').appendTo('.ad-inject-ad.ad-mrec2') 

时,此工作的魅力移动它们。

但是,60-70%的广告消失。结构仍然存在,您可以看到容器格为300+像素高,其中广告应该是,但广告已消失。

我试过在DFP中使用refresh()方法以及display()方法。看起来虽然广告显示,但不可见。我失去了广告的知名度,而不是广告本身。

我读过,这可能是由iframe的和他们无法重置状态引起的。但是,我不确定该状态需要刷新。

而且,为什么这一切都工作三分之一?

我能在这里做什么?

编辑

我也看了DFP jQuery插件,但我们更希望,如果能避免这不加载另一个脚本。

回答

0

因此,我现在工作在相当高的成功率。

首先,我移动广告。

$('.sidebar .ad-medrec2').appendTo('.ad-inject-ad.ad-mrec2'); 

然后,我的工作出了什么广告容器的id和槽被调用,删除div的内容,然后再次调用googletag功能重新填充。

mrec2_id = $('.ad-medrec2').attr('id'); 
mrec2_slot_name = mrec2_id.substr(0, mrec2_id.indexOf('-wrapper')) 
$('#' + mrec2_slot_name).children().remove(); 
googletag.cmd.push(function() { 
    googletag.display(mrec2_slot_name); 
}); 

这很好。但是,我担心这会加载广告两次。直到我能想出一个更好的选择,我会继续这样做。

+1

注意:重新定位iframe(DFP在异步模式下使用iframe)会导致iframe刷新。这意味着对广告服务器的第二次请求。 – WebolizeR

1

为什么不在你的页面上创建第二个adunit? 您可以使用DFP功能defineSizeMapping根据窗口大小呈现正确的广告。

+0

不错!我会放弃并报告。你有任何代码示例? Google文档非常糟糕。 – Christian

+1

这里是[Google主题](https://support.google.com/dfp_premium/answer/3423562?hl=zh-CN)。 你会发现那些正是你正在寻找的例子。 –

+0

太棒了,谢谢。我会放弃并报告 – Christian