如何根据推介流量隐藏我的网页上的某些元素?

更具体地说,我该如何隐藏广告? 我在阅读后提出这个问题:编码恐怖条目

其中,他说

为了礼貌,请关闭Digg,Reddit和其他流行的引荐网址的广告。 这些受众不喜欢广告,而且他们最不可能点击它们。

我同意他所说的。 那么,我该如何做到这一点?


我会用PHP来做这件事,因为隐藏广告的JavaScript代码会让你看起来像隐藏了每个人的广告,并从他们那里获得收入(谷歌很聪明,所以他们会找你做这样的事情) 。

但是,使用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不是一个URL,但你明白了; 检查reddit.com的URL。


那么,我不知道你的网站是如何处理广告的,但是在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()

您需要在适当的情况下展示广告,而不是在不恰当的情况下隐藏广告 - 否则您可能违反了AdSense条款,例如在广告展示后隐藏广告。 至少,等到查看引荐来源网站时才展示广告(也可能违反条款,但不太可能)。 另请查看您的广告服务条款,确保使用JavaScript等客户端技术动态展示广告不违反条款。

要回答您的问题,只需检测HTTP Referrer(该字段实际上称为HTTP“Referer”,这是拼写错误),并插入不属于您喜欢的网站的广告。 对于API /示例,您可以谷歌寻找http referrer your_language 。 例如,在PHP中它是$_SERVER['HTTP_REFERER'] 。 在Python中,它取决于你使用的Web框架。 正如其他人在javascript中提到的那样,它是document.referrer等Javascript是最简单的解决方案,但是再次阅读条款。

链接地址: http://www.djcxy.com/p/8473.html

上一篇: How do I hide certain elements on my page, based on referral traffic?

下一篇: TYPO3: 404 for restricted access page instead of login form