如何获得任何用户单击链接的位置?

时间:2018-08-06 04:14:50

标签: javascript java php html http

我有一个用于广告目的的HTML模板。现在,在HTML模板中,有许多链接可以访问我的网页。我正在以各种方式使用该模板,例如通过电子邮件发送,并在Facebook和其他用户中伪装。

现在,我想查看是否有任何用户正在访问他/她从哪个频道访问我的网页。

为解决此问题,我在HTML模板中添加了一个javascript,该javascript在查询参数中动态添加了当前页面的url(window.location.href):

$('a').attr('href', original_href + "&from=" + window.location.href);

但是此技术存在一个问题,即当在电子邮件客户端中打开模板时,不会执行javascript。因此这种方法失败了。

现在,我发现另一种方法是在每个不同的频道的URL上添加一个额外的参数,例如:

对于电子邮件

 href = url + "&from=email";

对于Facebook

 href = url + "&from=fb"

我不喜欢这样做,因为对于每个新渠道,我都必须手动或半自动进行更改。

那么,无需手动更改HTML模板,有什么方法可以实现我想要的?我进行了很多搜索,但仍然没有找到合适的解决方案。 语言,技术或复杂性与我无关,我想以某种方式实现这一目标。

任何一种帮助对我来说都是非常有益的。让我知道您是否需要更多详细信息。预先感谢。

1 个答案:

答案 0 :(得分:0)

在PHP中,您可以访问$_SERVER数组中的几个字段,这些字段可能会有所帮助:$_SERVER['HTTP_REFERER']$_SERVER['REMOTE_ADDR']。这是manual的相关部分:

  

“ HTTP_REFERER”       页面(如果有的话)的地址,该页面将用户代理引至当前页面。这是由用户代理设置的。并非所有用户代理   将对此进行设置,并且某些功能可以将HTTP_REFERER修改为   一项功能。简而言之,它不能真正被信任。

     

“ REMOTE_ADDR”       用户正在从中查看当前页面的IP地址。