【问题标题】:How to detect users with Adblock and redirect javascript [duplicate]如何使用 Adblock 检测用户并重定向 javascript [重复]
【发布时间】:2013-11-29 18:01:40
【问题描述】:

我一直在搜索有关如何检测广告块的内容,我发现了一些内容,但没有一个有效。如何检测我网站中的广告块并重定向用户?例如:

我有一个广告块,转到 www.lol.com 它应该会将我重定向到 www.lol.com/adblock.php

编辑

我只是没有广告,我正在开发一款在线游戏,但有 Adblock 的用户出于某种奇怪的原因阻止了游戏。我只是想检测用户是否使用 Adblock 并告诉这些用户禁用它。

【问题讨论】:

  • 这取决于您制作广告的方式。你使用什么 API?
  • 我只是没有广告,我正在开发一款在线游戏,但有 Adblock 的用户出于某种奇怪的原因阻止了游戏。我只是不想检测是否使用 Adblock 并告诉这些用户禁用它。谢谢!
  • 你用什么来开发所说的游戏,flash?
  • 正确,这是一个 Flash 游戏。
  • 由于这里没有实际的广告,似乎更好的选择是联系 Adblock 并告知他们问题。他们应该能够将游戏列入白名单,或者解释它被阻止的原因。

标签: javascript redirect web block adblock


【解决方案1】:

如果 AdBlock 隐藏了您的广告,您只需检查广告容器的高度是否为零:

$(function() {
  if (!$("#yourAdContainer").height()) {
    window.location.href = "www.lol.com/adblock.php";
  }
});

更新:

如果您没有广告,您可以在页面加载时创建具有固定高度的 id(由 adblock 已知)的不可见块,并检查它的高度。我的项目示例:

$(document.body).append('<div id="advblock" style="position: absolute; opacity: 1; top: 0; left: 0;">hh</div>');
setTimeout(function() {
  if (!$('#advblock').height()) {
    window.location.href = "www.lol.com/adblock.php";
  }
  $("#advblock").remove();
}, 1);

Fiddle

【讨论】:

  • 谢谢,我只是没有广告,我正在开发一款在线游戏,但有 Adblock 的用户出于某种奇怪的原因阻止了游戏。我只是不想检测是否使用 Adblock 并告诉这些用户禁用它。谢谢!
  • $('#yourAdContainer').is(':visible') 也有效
  • 我没有广告,这就是问题所在。
  • 它不起作用,¿为什么?
  • 查看小提琴示例。使用 adblock plus 在 chrome 和 FF 中为我工作。 jsfiddle.net/GhUHD/2
【解决方案2】:

检查包含游戏的 div 是否有“类似广告”classid 名称。

Adblocks 过滤器很大,所以如果您使用具有

classid 名称

adadvertising 或其他可能暗示它是广告的东西,更改它会因为现有过滤器而被阻止。这发生在我身上。尝试重命名它们。

【讨论】:

    猜你喜欢
    • 2012-03-27
    • 2012-11-26
    • 1970-01-01
    • 1970-01-01
    • 2013-01-29
    • 1970-01-01
    • 2018-03-24
    • 1970-01-01
    • 2021-09-15
    相关资源
    最近更新 更多