如何使用JavaScript从重定向中获取引荐来源?

时间:2014-05-22 18:06:38

标签: javascript redirect referrer

我知道我可以使用以下方式查找推荐人:

document.referrer;

但是,我有一个单页网站,并且重定向设置为将该网站中的所有其他页面发送到主页。我想有一种方法来捕获发起重定向的链接。在这种情况下,document.referrer始终为空。

所以我想,我需要知道:

  1. 如何在重定向之前设置referrer参数?
  2. 如何在主页中使用JavaScript捕获该参数?

1 个答案:

答案 0 :(得分:1)

您可以在URL参数中传递它。例如,当您点击搜索结果时,Google会执行类似操作;浏览器实际上转到google.com/url?url=https%3A%2F%2Fthe-site-you-want.com

因此,您可以将用户重定向到'http://your-site.com/?referrer='+ encodeURIComponent(document.referrer),然后在点击主页后,您可以提取该值并运行decodeURIComponent。

encodeURIComponent是一种使值安全放入URL的方法。 decodeURIComponent是相反的过程。

或者,您可以将其放在散列而不是查询字符串中,例如'http://your-site.com/#'+ encodeURIComponent(document.referrer)。几个客户端路由器使用它。虽然这可能会破坏后退按钮,除非您花更多时间学习pushState。当Twitter首次使用twitter.com/#!/foo-bar作为URL方案时,它打破了很多东西。但它可能对你有用。