我的网站上有Google AdSense广告,AdBLock阻止了它们,这很好.当他们被阻止时,我想显示替代内容.问题是,当广告被阻止时,有两件事情可能发生:
1)广告被AdBlock完全取消,AdSense广告的高度和宽度均为0,并且未生成大部分AdSense代码.
2)AdSense广告内容被屏蔽,但设置了高度和宽度,并生成了AdSense代码.
选项1是完美的,因为它允许我检查容器的高度,或AdSense呈现的标签,如果高度为0,或者如果不存在特定的AdSense标记,则显示我的备用内容.但是,当选项2出现时,我不知道如何显示我的替代内容,AdSense广告会占用所需的高度和宽度,但不会显示任何内容,从而使我的网站看起来很糟糕.
有没有其他人有过这个问题的经验?我的网站是.net 4.0,到目前为止我只在Chrome v12中测试了AdBlock.
解决方法
听起来你有选项1覆盖(如果高度为0,你自己的广告中的ajax).
对于选项2,是不是添加区域空白或隐藏?
所以这样的事情可能有用:
var adNode = $('#Google_Ad_Container'); if ( adNode.is (':hidden') || ! /\S/.test (adNode.text () ) ) { // Ajax in your ads here... }