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