浏览器广告拦截_如何阻止广告拦截器

浏览器广告拦截

block advert blockers 我最近写了一篇文章,说明为什么选择不受广告拦截器无意阻止的文件名很重要 。 这些评论表明,广告拦截技术使许多网站所有者感到恼火。 如果他们无法获得收益,为什么还要生产优质内容?

无法检测到广告拦截器的存在。 使用了不同的实现技术,它们不一定嵌入到浏览器中。 广告拦截器的工作方式也不同:有些拦截器使用一长串广告客户域,而另一些则使用正则表达式来抑制匹配的URL。

Firefox的Adblock Plus插件是最受欢迎的阻止程序之一,使用正则表达式匹配。 但是,我们可以利用一种技术来利用URL检查,该技术可以阻止Adblock用户查看您的内容,除非他们禁用了该加载项。

您HTML页面应遵循以下示例:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Advert Blocker blocking</title>
<meta http-equiv="content-language" content="en"><meta name="language" content="en">

<style type="text/css">
#content { display: none; }

#blockermessage
{
	font-weight: bold;
	text-align: center;
	padding: 4px;
	color: #fff;
	background-color: #c00;
}
</style>

<script type="text/javascript" src="/banner-advert.js"></script>

</head>
<body>

	<div id="content">
		<h1>Main content</h1>
		<p>This will be hidden to people using advert blockers.</p>
	</div>

	<div id="blockermessage">
		<p>Please switch of your advert blocker and enable JavaScript to view this page.</p>
	</div>

</body>
</html>

说明:

  • 主要内容应包含在外部元素中,例如<div id="content">
  • 您应该为使用广告拦截器的用户提供替代消息,如<div id="blockermessage">
  • 重要的是页面上的前两个CSS规则应为这些元素设置样式。 由于可以阻止外部CSS文件,因此建议您直接将其嵌入HTML中。 #content规则必须设置为display: none ,而#blockermessage规则可以设置为大字体,粗体或您选择的任何样式。
  • 最后,包含一个外部JavaScript文件。 应为其指定一个文件/文件夹名称,该名称将触发广告阻止规则,例如banner-advert.js。

banner-advert.js的代码:

// reveal content to those not using an advert blocker
if (document.styleSheets && document.styleSheets.length > 0) {
	var ss = document.styleSheets[0];
	var bRule = (ss.cssRules ? ss.cssRules : ss.rules);
	if (bRule.length > 1) {
		bRule[0].style.display = "block";
		bRule[1].style.display = "none";
	}
}

它以以下方式工作:

  1. 加载页面后,每个人的主要内容都会关闭,并且仅显示#blockermessage。
  2. 对于大多数人来说,banner-advert.js代码会立即执行。 这会更改嵌入式样式,因此#content变为可见,而#blockermessage被隐藏。 它发生在显示主要内容之前,因此用户不应看到任何差异。
  3. AdBlock将发现banner-advert.js并拒绝加载。 样式未修改,因此主要内容保持隐藏。

那应该使许多高级内容网站所有者满意。 但是-稍等- 我强烈建议您不要在您的网站上实现此功能! 存在许多技术问题,阻止阻止程序是徒劳的……请参阅为什么阻止广告阻止程序失败

另请参阅: 为什么文件命名比您想象的重要

翻译自: https://www.sitepoint.com/block-ad-blockers/

浏览器广告拦截

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值