1

我刚刚在我的网站中实施了 AdSense。我在包含我的广告的 div 中添加了一个 box-shadow 以增加深度。当没有广告,或者广告被使用 adblock 或其他东西阻止时,该 div 是空的,并且 box-shadow 就在那里,看起来很愚蠢。如果没有显示或阻止广告,我如何隐藏该 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;
}
4

3 回答 3

0

This javascript removes the div:

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

But if it messes your layout you can just set styles for CSS that are "bothering you" and/or don't look good empty.
To hide it if empty:

addEvent(window, 'load', function(){
var el = document.getElementById("footer");
if (el.innerHTML == "") {el.style.display="none";}
});
于 2013-06-20T19:45:48.947 回答
0

在这些脚本使用您自己的脚本在第三个标签中运行之后,您可能可以检查该 div 的内容(id:'footer')。在脚本中,您可以检查 div 是否添加了更多内容,如果没有,您可以删除阴影。您可能希望加载带有广告并阻止它的页面,并比较 div 中显示的内容,以了解它看起来像空的样子和显示时的样子。

于 2013-06-20T19:41:41.220 回答
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 加载脚本,那么这应该可以工作。

于 2013-06-20T19:43:56.613 回答