2011-07-28 12 views
18

Tengo un sitio web en el que creo dinámicamente código JavaScript utilizando el controlador ASP.NET en el que debo agregar el referente a una base de datos.¿Puedo obtener la referencia?

quiero conseguir de referencia del remitente, así:

  • website1
  • website2 (donde puedo crear píxel a otro sitio)
  • website3 (donde se encuentra píxeles)

No tengo acceso de código al website1, en website2 Solo puedo asignar JavaScript.

Si obtengo referencia en el estado actual de la aplicación obtengo website2.

¿Hay alguna manera de obtener website1 como referencia?

+0

* "donde i crear píxel a otro sitio" * Huh? –

+1

@TJCrowder: bastante seguro de que se trata de imágenes de 1x1 px que utilizan un referal (cadena de consulta) para contar visitantes – jAndy

Respuesta

24

Puede pasar este valor por: document.referrer.

que necesitaría expresión para ser evaluada en el sitio web 2, no en el sitio web 3.

Así:

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

La solicitud de WebSite3 incluirá entonces la de referencia.

4

Es imposible obtener directamente la referencia del sitio web2 en el sitio web3. Sin embargo, dado que puede usar javascript en el sitio web2, puede obtener el referente (document.referrer) y agregarlo a la URL del píxel que obtenga. Por ejemplo:

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

Espero que ayude

Cuestiones relacionadas