如何在包含Google AdSense广告时隐藏div?

时间:2014-02-28 21:47:33

标签: android jquery html css

我有一个包含adsense广告的div。但是,如果有一个类,我想删除div。

<div id=bannerad>
 ... adsense ad ...
</div>

$(document).ready(function(){
    if ($('.back').is(":visible") == true)
       $( "#bannerad" ).remove();
});

实现这一目标的最佳方法是什么。它会通过.remove()使用jQuery,因为使用display:none通过css是针对google t + c的。

谢谢,

6 个答案:

答案 0 :(得分:4)

$('.back:visible').remove();

使用CSS display:none您无法将其删除,只需隐藏它即可。

如果您使用$('.back:visible').hide() / $('.back:visible').css('display', 'none');

您可以使用$('.back:visible').show()来展示它。但是,通过.remove(),您无法再显示它。

答案 1 :(得分:3)

请勿更改Google Adsense代码段

根据Google Adsense服务条款,不允许操纵他们的代码段。它也不允许通过IFRAME展示广告或使用JavaScript和Ajax来展示或隐藏Adsense广告。但是,只要您愿意,就可以排除整个Adsense代码段。另一种选择是使用DFP广告管理系统等广告服务器,DFP广告管理系统是免费的Google服务,我在某处读到可以选择过滤特定国家/地区的广告。

将div放在Google广告周围,如下所示:

<div id="GoogleAds1">
<script type="text/javascript"><!--
google_ad_client = "pub-xxxxxxxxxxxxxx";
google_ad_host = "pub-xxxxxxxxxxxxxxx";
/* 300x250, created 1/31/10 */
google_ad_slot = "xxxxxxxxxx";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript">
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
</script>
</div>


<script type="text/javascript">

var Ads1 = document.getElementById('GoogleAds1');

Ads1.parentNode.removeChild(Ads1);

</script>

在帖子末尾添加javaScript,您的Google广告将隐藏在该特定帖子中。

所以你想知道的所有答案

答案 2 :(得分:0)

显然允许使用此代码:

<style>
  .responsive-test { display: block;}
  @media(max-width: 480px) { .responsive-test { display: none; } }
</style>

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Resposive_TEST -->
<ins class="adsbygoogle responsive-test"
  data-ad-client="ca-pub-3086914080036003"
  data-ad-slot="1408862175"
  data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

我在我的主题中发布了更多信息:Remove adsense on mobile

答案 3 :(得分:-1)

这里提到您要从html(I want to remove the div is a class is present.)中删除adsense add。

使用 css 无法删除html元素,只能使用display: none / visibility: hidden隐藏它)。

所以这取决于你的愿望,如果你想删除那么你必须使用js / jQuery,否则只需隐藏使用CSS。

答案 4 :(得分:-1)

所以,如果我正确理解你的问题,你想要删除它,对吗?

如果是,那么.remove()就是正确的。它完全删除了一个元素,因此你永远无法恢复它(当然,直到刷新)。

但是使用.hide()会隐藏一个元素,就像display:none那样。在这种情况下,元素仍然存在,但对用户不可见。我不确定谷歌是否可以支付这种“广告观看次数”,但这肯定违反了他们的规则。

因此,出于删除原因,您的代码示例最佳。但它可能不会逆转。

如果您仍希望稍后显示此内容,但又想阻止它出现在页面上,我看到的解决方案是将div元素保存到变量,然后删除元素。稍后您可以从同一个变量中恢复它。像这样:

$(document).ready(function(){
    if ($('.back').is(":visible") == true) {
        var bannerAd = $( "#bannerad" ).html();
        $( "#bannerad" ).remove();
    }

    function showAdContent(bannerAd) {
        $( "#bannerAd" ).text( bannerAd );
    }
});

猜猜它有效。

答案 5 :(得分:-2)

隐藏元素并不一定要删除元素更容易实现。要做到这一点,使用<div id="bannerad>,你可以在你的jquery中提到它:

document.ready(function(){ 
if ($('.back').css("display", "none") !== true){
$("#bannerad").css("display", "none"); }});