我刚刚在我的网站上实施了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;
}
答案 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";}
});