如果广告没有出现,如何隐藏div

时间:2013-06-20 19:37:50

标签: html adsense

我刚刚在我的网站上实施了AdSense。我在包含广告的div中添加了一个box-shadow来添加深度。如果没有广告,或广告被使用adblock或其他内容屏蔽,则该div为空且框阴影就在那里,看起来很愚蠢。如果没有显示或阻止广告,如何隐藏该div?到目前为止,这是我的代码:

<div id="footer">
<script type="text/javascript"><!--
    ad stuff
    //-->
</script>
<script type="text/javascript"
    src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

#footer { 
position: relative;
bottom:0;
width:728px;
height: 90px;
text-align: center;
box-shadow: 0px 0px 10px black;
margin-left: auto;
margin-right: auto;
}

3 个答案:

答案 0 :(得分:0)

在这些脚本在第三个标记中使用您自己的脚本运行之后,您可以检查该div的内容(id:'footer')。在脚本中,您可以检查div是否有更多内容添加到if,如果不是,您可以删除阴影。您可能希望加载包含广告的网页并将其屏蔽,并比较div中显示的内容,以了解显示为空的内容以及显示时的外观。

答案 1 :(得分:0)

默认情况下,您可以隐藏它,并使用jquery getScript方法加载广告。成功后,您可以将其显示出来。

$.getScript("http://pagead2.googlesyndication.com/pagead/show_ads.js", function(data, textStatus, jqxhr) {
    // make the ad visible
    $('#ad').show();
});

这将尝试加载show_ad.js脚本,成功后将调用回调函数,使广告可见。

这完全取决于广告拦截器的工作方式。如果他们只是阻止在googlesyndication中加载脚本,那么这应该有效。

答案 2 :(得分:0)

此javascript 删除 div:

var el = document.getElementById("footer");
if (el.innerHTML == "") {el.parentNode.removeChild(el)};

但如果它混淆了你的布局,你可以为CSS设置“困扰你”和/或看起来不好的空格。
如果为空,请隐藏

addEvent(window, 'load', function(){
var el = document.getElementById("footer");
if (el.innerHTML == "") {el.style.display="none";}
});