如何在单击链接后保存href值

时间:2017-02-14 21:38:36

标签: javascript php jquery

更具体地说,客户端已经询问何时单击其他站点上的链接,并将用户带回客户端站点。可以保存用户点击链接的href值并在另一个函数中再次使用。

对于前。我在另一个站点上单击了客户端徽标,然后将其带到客户端站点。现在,客户端站点上的内容将根据我的来源进行过滤。

我发现以下内容保存了当前网站上点击链接的href。

    $(document).ready(function(){
  $('a').click(function() {
    if ($(this).attr('href')) someFunction.href = $(this).attr('href');
  });
});

function someFunction(a) {
  window.setTimeout("console.log(someFunction.href);",200);

但我不确定如何存储该数据并再次使用它。

3 个答案:

答案 0 :(得分:1)

如果您有权访问&#34;其他&#34;网站,我建议只将查询参数附加到链接,例如:<a href="www.targetsite.com/?referrer=parentsite.com">Client site</a>。这是一种非常简单可靠的方法。

另一种方式是服务器端,使用$_SERVER\['HTTP_REFERER'\]

如果您想在客户端访问它,可以使用document.referrer

请注意,最后两个(尤其是客户端)并不可靠,尽管通常情况下应该没问题。另请注意,如果父网站为HTTPS且目标网站为HTTP,则document.referrer 将为空

实施例

jQuery(document).ready(function($){
  if(document.referrer === 'http://www.affiliatesite.com/product/myproduct')
      filterMyContent('affiliate')
});

答案 1 :(得分:0)

我认为您正在寻找的是查询字符串参数。例如,如果从其他位置点击的客户端网站链接为myclientsite.com?from=google.com,则可以解析该值(来自= google.com)并使用它来更改客户端页面上的内容。有关使用javascript解析这些值的详细信息,请参阅https://davidwalsh.name/query-string-javascript。这只适用于您可以控制外部站点上链接的URL的警告。

答案 2 :(得分:0)

如果您能够在其他网站上设置链接,则可以向网址添加查询字符串,例如{{1}}。然后根据引荐来源更改网站。

如果您无法更改其他网站上的链接,您可以尝试查看用户来自哪里使用推荐人(虽然这并非总是非常可靠)

{{1}}