仅在台式机上显示 adsense 广告并在移动设备上隐藏它

Displaying an adsense ad on desktops only and hiding it on mobiles

我创建了这个 AdSense 广告并使用了 position: relative 来放置它。我只需要此广告显示在台式机上而不是移动设备上。然而,此时广告也在手机上显示,因为我使用了“位置:相对”,它被显示在边界之外。关于如何在台式机上显示此广告并在手机上隐藏它的任何想法?谢谢

<div style="position: relative; left: 700px; top:-100; ">

<style>
.test-ad { width: 728px; height: 90px; }
@media(min-width: 500px) { .test-ad { display: none; } }
@media(min-width: 800px) { .test-ad { width: 728px; height: 90px; } }
</style>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- test-ad -->
<ins class="adsbygoogle test-ad"
     style="display:inline-block"
     data-ad-client="XXXXXXXXXX"
     data-ad-slot="XXXXXXXXXXX"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

</div>

检查用户代理是否为移动浏览器然后不显示它们。您可以使用 WURFL.js api 用于用户代理检测。

添加这个:

<script type='text/javascript' src="//wurfl.io/wurfl.js"></script>

并使用这个:

<script>
if(!WURFL.is_mobile){
      //display ads
}
</script>

请注意,免费版中您只能使用 WURFL 的 5 种功能,请查看网站了解更多详情。

min-width: 500px 对于除了极少数手机以外的所有手机来说都太高了,这是平板电脑领域。请记住,尽管分辨率可能相当高,但所谓的视口(浏览分辨率)要小 1.5 倍、2 倍甚至 3 倍。大多数手机的视口宽度为 320 或 360(即使全高清也可能只有 640x360,每个浏览器像素有 3x3 真实像素)。简单来说,max-width: 500px应该做到