你在这里

屏蔽免费空间的谷歌广告

很多不错的免费空间都会随html,php等页面请求强制注入谷歌广告,有些地方插个广告无所谓,但有些的话会打乱页面布局,一些用frame的页面更是重灾区。为了不影响网站的功能有些地方还是要屏蔽掉的(毕竟别人也给你免费了,还是留点广告)。


由于谷歌的广告是用js动态加载,所以我们请出ff下的神器之一--web developer插件,安装好后选择查看源代码>处理后的源代码,就会发现广告的源代码。

比如
<ins border: medium none; height: 90px; margin: 0pt; padding: 0pt;
position: relative; visibility: visible; width: 728px;">
<ins id="google_ads_frame2_anchor" border: medium none; height: 90px;
margin: 0pt; padding: 0pt; position: relative; visibility: visible;
width: 728px;">
<iframe allowtransparency="true" hspace="0" id=
position: absolute; top: 0pt;" vspace="0" scrolling="no" frameborder="0"
height="90" width="728">
</iframe></ins></ins>
上面那一堆看下结构就ok了。
不同的空间id号可能稍微有点不同。这里我们可以看到它的结构是ins ,ins ,iframe3层标签结构
而且都定义了标签内style,不知道出于什么原因,谷歌竟然用ins这种特殊的标签作为广告外标签,
居然iframe还给定上了id,那么用css就能解决掉广告:
#google_ads_frame2{display:none}
ins{display:none}
但是因为标签里强制设定了宽高和visibility,根据优先级,css对此无能为力,
还是有空白的一个宽高占位,这么一来我们就需要用js来完全屏蔽掉这些广告了:
(你也可以用innerHTML="",可能速度会更快)

foot.js

forbid=document.getElementsByTagName("ins");

for(i=0;i<forbid.length;i++) {forbid[i].style.display="none"}

把这个引入到你想要屏蔽广告的页面最底部即可:

<script type="text/javascript" src="foot.js"></script>

有frameset的怎么办?

frameset不允许同级存在除head,html标签之外的兄弟标签,不然就成空白。js标签就不能这么引入了。只能放在head标签里。那么可以写成:

window.onload=function(){

forbid=document.getElementsByTagName("ins");

for(i=0;i<forbid.length;i++) {forbid[i].style.display="none"}

}

不过onload可能会和其他onload函数相冲突,(如果你在页面里还有window.onload 函数)最合适的做法是

用jquery:

在head内 引入公共jquery:(用的是谷歌提供的jquey来屏蔽感觉有点。。额。。谷歌同学我对不住你)

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>

<script type="text/javascript" src="foot.js"></script>

foot.js

$(document).ready(function () {$("ins").hide()})

最后提醒别把广告全屏蔽了,不然空间商看到会屏蔽你的。