有没有办法根据浏览器宽度或设备在页面上的不同位置动态生成 AdSense 广告?
Google Developers 资源提供了一篇关于“动态提供的 JavaScript”的文章,它允许您根据用户代理提供不同的广告。但它没有详细说明这些广告是否可以投放到代码的不同部分。
本质上,我想要做的是在页面的特定部分以“桌面”大小加载三个广告,当网站折叠到移动大小时,不同的广告会显示在不同的位置——所有这些都没有做任何谷歌不允许的废话,比如隐藏/节目。
有没有办法根据浏览器宽度或设备在页面上的不同位置动态生成 AdSense 广告?
Google Developers 资源提供了一篇关于“动态提供的 JavaScript”的文章,它允许您根据用户代理提供不同的广告。但它没有详细说明这些广告是否可以投放到代码的不同部分。
本质上,我想要做的是在页面的特定部分以“桌面”大小加载三个广告,当网站折叠到移动大小时,不同的广告会显示在不同的位置——所有这些都没有做任何谷歌不允许的废话,比如隐藏/节目。
我假设您有这些广告所在的容器。您控制这些容器的位置。您可以使用 CSS 媒体查询为不同的屏幕尺寸指定不同的位置。
我确实找到了一半的解决方案,但是我将在下面解释一些严重的问题。如果有人有更好的解决方案,那就太好了。
此解决方案使用 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 失败
增加大约一秒钟的加载时间。由于页面上已经有广告会减慢速度,这可能会很严重
没有关于谷歌是否允许这种技术的文档。
我也在寻找解决方案,所以如果您找到更好的解决方案,请告诉我。