J'ai un site Web sur lequel je crée dynamiquement du code Javascript à l'aide du gestionnaire ASP.NET dans lequel je dois ajouter le référent à une base de données.
Je veux obtenir un référent de référent comme ceci:
website1
website2
(où je crée un pixel vers un autre site)website3
(où se trouve le pixel)Je n'ai pas accès au code pour website1
, sur website2
Je ne peux affecter 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?
Vous pouvez transmettre cette valeur: document.referrer
.
Cette expression devrait être évaluée sur le site Web 2, et non sur le site Web 3.
Donc:
// website2.html
<img src="website3.com/pxl.gif" id="pxl" />
<script>
document.getElementById('pxl').src += '?ref=' + encodeURIComponent(document.referrer);
</script>
La demande adressée au site Web3 inclura alors le référent.
Il est impossible d'obtenir directement le référent de website2 sur website3. Cependant, comme vous pouvez utiliser javascript sur website2, vous pouvez obtenir le référent (document.referrer
) et ajoutez-le à l'url du pixel que vous obtenez. Par exemple:
var referer = document.referrer;
var pixelUrl = 'http://website3/pixel?referrer=' + escape(referrer);
// create pixel...
J'espère que cela pourra aider