检测adblock和javascript

Dhe*_*raj 11 javascript adblock

我希望在我的网站上检测广告拦截软件,并要求用户通过重定向来停用广告拦截功能.我发现的唯一方法是使用Javascript.

  1. 还有其他检测方法吗?

  2. 如果没有,我如何检测Javascript是否被禁用并将其重定向到某个页面?

Bea*_*eau 35

要检测用户是否阻止了广告,您只需在广告JavaScript中找到一个功能并尝试对其进行测试即可.他们用什么方法阻止广告并不重要.以下是Google Adsense广告的外观:

if(typeof(window.google_render_ad)=="undefined") 
{ 
    //They're blocking ads, do something else.
}
Run Code Online (Sandbox Code Playgroud)

此方法概述如下:http://www.metamorphosite.com/detect-web-popup-blocker-software-adblock-spam

要在禁用javascript的情况下重定向所有用户,只需将此代码放在HTML的头部:

<noscript>
    <meta http-equiv="refresh" content="5;url=http://newsite.com/">
</noscript>
Run Code Online (Sandbox Code Playgroud)

  • ?广告可以让网络正常运行 (11认同)

Gab*_*ley 5

如果禁用javascript,您实际上无法"检测".由于javascript是客户端功能,服务器无法检测到它,并且使用javascript"检测"客户端的内容.你看到了捕获22.

可用的是<noscript>标记,只有在关闭javascript时才由浏览器呈现.这是在禁用javascript时向用户显示消息的标准机制.使用noscript和聪明的CSS,您可以确保用户启用javascript或按照您提供的重定向链接使用您的网站.

无法自动重定向已禁用javascript的用户.您可以使用javascript有选择地重定向用户,也可以根据服务器端条件(HTTP标头等)重定向用户.但你无法抓住那个中间人群.

至于检测广告拦截,这将根据浏览器和广告拦截方法而有所不同.没有一致的标记,但您可以通过javascript检查广告服务器的可用性,或检查您的广告内容是否已加载到网页上.