怎么选择昆明网站建设/引擎搜索
我最近写了一篇文章,说明为什么选择不受广告拦截器无意阻止的文件名很重要 。 这些评论表明,广告拦截技术使许多网站所有者感到恼火。 如果他们无法获得收益,为什么还要生产优质内容?
无法检测到广告拦截器的存在。 使用了不同的实现技术,它们不一定嵌入到浏览器中。 广告拦截器的工作方式也不同:有些拦截器使用一长串广告客户域,而另一些则使用正则表达式来抑制匹配的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";}
}
它的工作方式如下:
- 加载页面后,每个人的主要内容都会关闭,并且仅显示#blockermessage。
- 对于大多数人来说,banner-advert.js代码会立即执行。 这会更改嵌入样式,因此#content变为可见,而#blockermessage被隐藏。 它发生在显示主要内容之前,因此用户不应看到任何差异。
- AdBlock将发现banner-advert.js并拒绝加载。 样式未修改,因此主要内容保持隐藏。
那应该使许多高级内容网站所有者满意。 但是-稍等- 我强烈建议您不要在您的网站上实现此功能! 存在许多技术问题,阻止阻止程序是徒劳的……请参阅为何阻止广告阻止程序失败 。
另请参阅: 为什么文件命名比您想象的重要 。
From: https://www.sitepoint.com/block-ad-blockers/