2011-07-28 1 views
18

J'ai un site web sur lequel je crée dynamiquement du code Javascript en utilisant le gestionnaire ASP.NET dans lequel je devrais ajouter le référent à une base de données.Puis-je obtenir le référent?

Je veux obtenir referrer de referrer comme ceci:

  • website1
  • website2 (où je créer pixel à un autre site)
  • website3 (où est situé pixel)

Je n'ai pas accès au code website1, sur website2 Je ne peux attribuer que du JavaScript.

Si je reçois un référent dans l'état actuel de l'application, j'obtiens website2.

Existe-t-il un moyen d'obtenir website1 comme référent?

+0

* "où je crée pixel à un autre site" * Huh? –

+1

@TJCrowder: assez sûr qu'il s'agit d'images 1x1 px qui utilisent un referal (chaîne de requête) pour compter les visiteurs – jAndy

Répondre

24

Vous pouvez transmettre cette valeur le: document.referrer.

Cette expression devrait être évaluée sur le site 2, et non sur le site 3.

Alors:

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

La demande de WebSite3 comprendra alors le referrer.

4

Il est impossible d'obtenir le référant de website2 sur website3 directement. Cependant, puisque vous pouvez utiliser javascript sur website2, vous pouvez obtenir le referrer (document.referrer) et l'ajouter à l'URL du pixel que vous obtenez. Par exemple:

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

espoir qui aide

Questions connexes