Отправить хэш местоположения через реферала - PullRequest
8 голосов
/ 11 января 2010

У меня есть страница, где в Javascript я добавляю к хешу местоположения что-то вроде: location.hash = "initial_source = previous_referrer".

После этого выполняется window.location для перенаправления.

Однако получатель получает реферер в своем запросе без хеша (#).

Можно ли как-то изменить URL-адрес на начальной странице без перенаправления, поэтому конечный реферер - это то, что нужно?

Спасибо.

Ответы [ 2 ]

15 голосов
/ 11 января 2010

Во-первых, часть URL-адреса hash используется только на стороне клиента. никогда не появится в журналах сервера, запросах или как часть строки REFERRER.

Во-вторых, единственная часть URL, которую можно изменить без обновления страницы вна стороне клиента есть хеш.Поэтому совместите это с моим первым утверждением, и станет ясно, что вы не можете делать то, что вам нужно.

Лучший способ действий - проверить, установлен ли initial_referrer в строке запроса.Если это не так, перед загрузкой страницы перенаправьте на ту же страницу, но добавьте свои значения в строку запроса.Теперь, когда ваша страница изменяется с помощью location.href =, будет отправлена ​​правильная информация о реферере.

1 голос
/ 11 января 2010
location.href = redirect_url.split("#")[0] + "#" + document.referrer;
...