0

有没有办法根据浏览器宽度或设备在页面上的不同位置动态生成 AdSense 广告?

Google Developers 资源提供了一篇关于“动态提供的 JavaScript”的文章,它允许您根据用户代理提供不同的广告。但它没有详细说明这些广告是否可以投放到代码的不同部分。

本质上,我想要做的是在页面的特定部分以“桌面”大小加载三个广告,当网站折叠到移动大小时,不同的广告会显示在不同的位置——所有这些都没有做任何谷歌不允许的废话,比如隐藏/节目。

4

2 回答 2

0

我假设您有这些广告所在的容器。您控制这些容器的位置。您可以使用 CSS 媒体查询为不同的屏幕尺寸指定不同的位置。

于 2013-04-11T20:08:52.613 回答
0

我确实找到了一半的解决方案,但是我将在下面解释一些严重的问题。如果有人有更好的解决方案,那就太好了。

此解决方案使用 jQuery 来“复制”adSence 广告的 iframe 并将其“粘贴”到基于浏览器大小的占位符 div 中。

<script>
if(window.innerWidth < 700){

$("#adSource").find("iframe").appendTo("#ad");

$("#adSource").remove();
}
</script>

当浏览器以小于 700 的宽度加载时,这会将 iframe 放入名为 #adSource 的 div 中,并将其附加到 ID 为 #ad 的 div 中。然后它会从#adSource 中删除 iframe。

这样做的缺点如下:

  • 只工作大约 3/4 的时间。iframe 有时加载速度不够快,jQuery 失败

  • 增加大约一秒钟的加载时间。由于页面上已经有广告会减慢速度,这可能会很严重

  • 没有关于谷歌是否允许这种技术的文档。

我也在寻找解决方案,所以如果您找到更好的解决方案,请告诉我。

于 2013-05-06T19:57:34.067 回答