我有一个页面,在Javascript中我添加到位置哈希,如: location.hash =“initial_source = previous_referrer”。
然后完成window.location以重定向。
然而,接收者在他的请求中获得引用者而没有哈希(#)部分。
是否有可能以某种方式修改初始页面中的URL,而无需重定向,因此最终的引荐来源是您想要的?
谢谢。
答案 0 :(得分:15)
首先,URL的hash
部分仅在客户端使用。它永远不会出现在服务器日志,请求中,或作为REFERRER
字符串的一部分。
其次,在客户端没有页面刷新的情况下可以更改的URL的唯一部分是哈希。因此,将它与我的第一个陈述相结合,很明显你无法做你想做的事。
最佳操作方法是测试查询字符串中是否设置了initial_referrer
。如果不是,则在页面加载之前,重定向到同一页面,但将值添加到查询字符串。现在,当您的网页通过location.href =
更改时,系统会发送正确的推荐人信息。
答案 1 :(得分:1)
location.href = redirect_url.split("#")[0] + "#" + document.referrer;