2011-07-28 13 views
18

Mam stronę internetową, na której dynamicznie tworzę kod JavaScript za pomocą programu obsługi ASP.NET, w którym powinienem dodać stronę odsyłającą do bazy danych.Czy mogę uzyskać stronę odsyłającą?

chcę uzyskać referrer z polecający tak:

  • website1
  • website2 (gdzie tworzę piksel do innej witryny)
  • website3 (gdzie piksel znajduje)

Nie mam dostępu do kodu website1, na website2 Mogę tylko przypisać JavaScript.

Jeśli otrzymam stronę odsyłającą w bieżącym stanie aplikacji, otrzymam website2.

Czy istnieje sposób uzyskania website1 jako strony odsyłającej?

+0

* "gdzie tworzę piksel do innej strony" * Huh? –

+1

@TJCrowder: całkiem pewne, że chodzi o obrazy o wielkości 1x1 px, które wykorzystują skierowanie (ciąg zapytania) do zliczania odwiedzających – jAndy

Odpowiedz

24

Możesz przekazać tę wartość wzdłuż: document.referrer.

Wyrażenie to musiałaby być oceniana na stronie 2, a nie na stronie 3.

Więc:

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

Żądanie WEBSITE3 wtedy zawierać odnośnika zwrotnego.

4

Nie można uzyskać strony odsyłającej strony2 bezpośrednio na stronie3. Ponieważ jednak możesz korzystać z javascript na stronie2, możesz uzyskać stronę odsyłającą (document.referrer) i dodać ją do adresu URL otrzymanego piksela. Na przykład:

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

nadzieję, że pomoże

Powiązane problemy