问题
I have a website on which I dynamically create Javascript code using ASP.NET handler in which I should add the referrer to a database.
I want to get referrer of referrer like so:
website1
website2
(where I create pixel to another site)website3
(where pixel is located)
I don't have code access to website1
, on website2
I can only assign JavaScript.
If I get referrer in current application state I get website2
.
Is there a way to get website1
as referrer?
回答1:
You can pass this value along: document.referrer
.
That expression would need to be evaluated on website 2, not on website 3.
So:
// website2.html
<img src="website3.com/pxl.gif" id="pxl" />
<script>
document.getElementById('pxl').src += '?ref=' + encodeURIComponent(document.referrer);
</script>
The request to website3 will then include the referrer.
回答2:
It is impossible to get the referrer of website2 on website3 directly. However, since you can use javascript on website2, you could get the referrer (document.referrer
) and add it to the url of the pixel you get. For example:
var referer = document.referrer;
var pixelUrl = 'http://website3/pixel?referrer=' + escape(referrer);
// create pixel...
Hope that helps
来源:https://stackoverflow.com/questions/6856697/can-i-get-the-referrer