我知道我可以使用以下方式查找推荐人:
document.referrer;
但是,我有一个单页网站,并且重定向设置为将该网站中的所有其他页面发送到主页。我想有一种方法来捕获发起重定向的链接。在这种情况下,document.referrer始终为空。
所以我想,我需要知道:
答案 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方案时,它打破了很多东西。但它可能对你有用。