Могу ли я получить реферера? - PullRequest
32 голосов
/ 28 июля 2011

У меня есть веб-сайт, на котором я динамически создаю код Javascript с помощью обработчика ASP.NET, в котором мне нужно добавить реферрера в базу данных.

Я хочу получить реферер реферера следующим образом:

  • website1
  • website2 (где я создаю пиксель для другого сайта)
  • website3 (где находится пиксель)

У меня нет доступа к коду website1, на website2 Я могу назначить только JavaScript.

Если я получаю реферера в текущем состоянии приложения, я получаю website2.

Есть ли способ получить website1 в качестве реферера?

Ответы [ 2 ]

50 голосов
/ 28 июля 2011

Вы можете передать это значение: document.referrer.

Это выражение необходимо будет оценить на веб-сайте 2, а не на веб-сайте 3.

Итак:

// website2.html
<img src="website3.com/pxl.gif" id="pxl" />
<script>
document.getElementById('pxl').src += '?ref=' + encodeURIComponent(document.referrer);
</script>

Запрос на сайт 3 будет включать в себя реферер.

9 голосов
/ 28 июля 2011

Невозможно напрямую получить реферера website2 на website3.Однако, поскольку вы можете использовать javascript на веб-сайте 2, вы можете получить реферер (document.referrer) и добавить его к URL-адресу получаемого пикселя.Например:

var referer = document.referrer;
var pixelUrl = 'http://website3/pixel?referrer=' + escape(referrer);
// create pixel...

Надеюсь, что поможет

...