通过引荐来源发送位置哈希

时间:2010-01-11 00:39:59

标签: javascript redirect referrer

我有一个页面,在Javascript中我添加到位置哈希,如: location.hash =“initial_source = previous_referrer”。

然后完成window.location以重定向。

然而,接收者在他的请求中获得引用者而没有哈希(#)部分。

是否有可能以某种方式修改初始页面中的URL,而无需重定向,因此最终的引荐来源是您想要的?

谢谢。

2 个答案:

答案 0 :(得分:15)

首先,URL的hash部分仅在客户端使用。它永远不会出现在服务器日志,请求中,或作为REFERRER字符串的一部分。

其次,在客户端没有页面刷新的情况下可以更改的URL的唯一部分是哈希。因此,将它与我的第一个陈述相结合,很明显你无法做你想做的事。

最佳操作方法是测试查询字符串中是否设置了initial_referrer。如果不是,则在页面加载之前,重定向到同一页面,但将值添加到查询字符串。现在,当您的网页通过location.href =更改时,系统会发送正确的推荐人信息。

答案 1 :(得分:1)

location.href = redirect_url.split("#")[0] + "#" + document.referrer;