更具体地说,我如何隐藏广告?我读完这篇文章后提出这个问题: coding horror entry
其中,他声明
为了礼貌,请关闭Digg,Reddit和其他热门广告 引用网址。这些观众不喜欢广告,他们就是 最不可能点击它们。
我同意他所说的话。那我该怎么做呢?
答案 0 :(得分:2)
我会使用PHP,因为用于隐藏广告的JavaScript代码会让你看起来像是在隐藏每个人的广告并从中获取收入(Google很聪明,所以他们会找到你做某事那样的。)
但是,使用PHP,您可以在到达用户之前修改页面,从而消除该问题。基本上,您有条件地检查浏览器的来源:
<?php
$sites = array("reddit.com", "digg.com");
if (!in_array(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST), $sites)) :
?>
<div>your ads</div>
<?php else:?>
<div>Hello reddit person</div>
<?php endif; ?>
您必须让您的网站运行PHP代码(它是动态的)才能有条件地展示您的广告。但是,此代码不起作用,因为reddit
不是网址,但您明白了这一点;检查reddit.com
的网址。
答案 1 :(得分:1)
好吧,我不知道你网站上的广告是如何处理的,但是在StackOverflow上它可能类似于
function hideAds()
{
var elems = document.getElementsByClassName( "everyonelovesstackoverflow" )
for( var i = 0; i < elems.length; i++ )
elems[ i ].parentNode.removeChild( elems[ i ] )
}
// change the logic as you like. You may need to parse document.referrer
if( document.referrer == <some referrer url> ) hideAds()
答案 2 :(得分:0)
您需要在适当的时候展示广告,如果不合适则不要隐藏广告 - 否则您可能违反了AdSense的条款,例如:在广告显示后隐藏广告。至少,等到您检查引荐来源之前显示广告(可能也违反了条款,但可能性更小)。另请查看广告服务的条款,以确保使用javascript等客户端技术动态展示广告不符合条款。
要回答您的问题,只需检测HTTP Referrer(该字段实际上称为HTTP“Referer”,这是拼写错误)并插入广告(如果它不是来自您“喜欢”的网站)。对于API /示例,您可以google http referrer your_language
。例如,在PHP中它是$_SERVER['HTTP_REFERER']
。在python中,它取决于您正在使用的Web框架。正如其他人在javascript中提到的那样document.referrer
等等.Javascript是最简单的解决方案,但请再次阅读这些条款。