gpt4 book ai didi

javascript - 广告拦截器检测 AKA Adblock Plus

转载 作者:IT王子 更新时间:2023-10-29 03:07:24 31 4
gpt4 key购买 nike

在 Google 和 Stackoverflow 上搜索了几个小时后,我找不到解决方案。我现在要做的是检测 Adblock plus 并显示一条简单的消息。

我想做的是检测 Adblock plus 而不 使用 JavaScript 文件或 jQuery。大多数 adblock plus 检测脚本使用一个文件,例如“show_ads.js”,该文件托管在自己的域中,其中一行将其设置为“adblock = false;”

使用 JavaScript 文件的问题,用户可以将该 JavaScript 文件列入白名单,它将不再检测到它。我正在寻找的是一个直接加载到 HTML 中的 JavaScript,它可以在不使用文件的情况下检测是否有人在使用广告拦截器。

示例如下:

<script type="text/javascript">
// line of code that detects if using ad blocker

if so display message
</script>

这样做的原因是没有广告拦截器可以将您服务器上的 JavaScript 文件列入白名单。是的,我知道还有其他方法可以使用 NoScript 插件来解决这个问题,但我已经有了解决方案。我有一个从未尝试过的好主意,一旦我完成它,广告拦截器就无法阻止它。

任何建议和示例将不胜感激。

最佳答案

你不需要一个插件来检测广告拦截,只需使用这个:

<script type="text/javascript">
var adblock = true;
</script>
<script type="text/javascript" src="adframe.js"></script>
<script type="text/javascript">
if(adblock) {
//adblock is installed and enabled on this site :-D
}
</script>

adframe.js 的内容:

adblock = false;

更新:Adblock Plus 会根据已有的模式阻止某些请求或隐藏某些元素。其中一种模式是这样的(在 patterns.ini 中):

[Filter]
text=/adframe.
hitCount=843
lastHit=1456391595626

它会阻止任何包含 /adframe. 的 URL。

2018 年 8 月 25 日更新

Adblock plus 改变了查找列表和拦截广告的方式。它有一堆称为订阅的列表,用于阻止。例如这个是默认的:

https://easylist-downloads.adblockplus.org/easylist.txt

您可以使用此文件的规则来查找要使用的文件名。例如,您可以使用 seo-ads.js

P.S for developers:出于某种原因,我无法让 ABP 在本地环境中阻止这些文件。

P.S:ABP 是我最喜欢的广告拦截器 :-D

关于javascript - 广告拦截器检测 AKA Adblock Plus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18180598/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com