我正在尝试显示一个背景图像,通常是300x250的广告,但只有当广告阻止广告时才会显示。有人知道这是怎么做的吗?使用div会导致在广告加载之前显示背景,这是我不想要的。
谢谢
发布于 2012-12-14 20:59:11
因为adblock软件安装在访问者的计算机上,所以没有办法知道广告是否被阻止(这是我能想到的)。但是,由于广告是用JavaScript显示的--这是由adblock软件专门针对和屏蔽的--你可以编写一些JavaScript来检查广告是否在页面的末尾加载,如果没有,就在你的div中添加一个显示你想要的背景图像的CSS类。伪代码:
<style type="text/css">
.adblocked { background: url("img/no-ad.jpg") left top no-repeat; }
</style>
<div id="ad"></div>
<script src="ads.js"></script>
<script>
if (typeof adLibraryName === "undefined") {
// ad stuff was not loaded
document.getElementById("ad").className += " adblocked";
}
</script>正如MAXIM所说,这与PHP没有任何关系,也没有办法让它与PHP一起工作,因为PHP运行在服务器上,不知道是否安装了广告拦截。简单地说,所有这些都是客户端的问题。
发布于 2012-12-23 15:52:40
检查Adsense是否被阻止,从而将替代内容加载到广告容器中。
if (typeof(window.google_jobrunner) ==‘未定义’){
// Adsense被阻塞,请将其他内容加载到容器中
}
如果要这样做,最好用CSS设置容器的高度。
你可以通过选择“打开可阻止的项目”来检查Adblock Plus在Firefox中阻止了什么。
Adblock Plus还会屏蔽文件名中包含常见广告尺寸的图片,例如'whatever_468x60.png‘可能会被屏蔽。
发布于 2012-12-14 20:43:45
既然你用PHP标记了你的问题,我就用php眼镜回答:这样做的问题是广告拦截是客户端的,而通过php添加div是服务器端的。因此,您首先必须知道客户端ans上发生了什么,然后编写您的代码--但这是行不通的。您可能仍然可以通过AJAX请求- but来做这件事,这意味着您将首先发送页面,而不知道…是否激活了广告块
干杯,±…
https://stackoverflow.com/questions/13878734
复制相似问题