user1706458
user1706458

Reputation: 103

Problems with document.referrer

I'm having some trouble using document.referrer on some sites, even the reference site using HTTP protocol.

  1. In what circumstances document.referrer may be empty (except HTTPS to HTTP)?

  2. What is the best way to get the url reference only document.referrer?

  3. In my site, document.referrer is empty, but when I look in Analytics website of references appears.

Upvotes: 9

Views: 39886

Answers (4)

Peter
Peter

Reputation: 1109

Try window.frames.top.document.referrer instead.

Upvotes: 0

Art
Art

Reputation: 21

To answer your second question, this simple script returns the URL of the site you arrived from:

    <SCRIPT>
        document.write ( document.referrer )
    </SCRIPT>

see: https://www.nku.edu/~manningd/javascript/referrer.html

Upvotes: 0

Santosh Singh
Santosh Singh

Reputation: 1262

const referrerPage = document.referrer;

if ((referrerPage.indexOf(window.location.href) > -1) !== true) { // If referral is same page then page will not redirect.
    if (referrerPage.indexOf('viewplans') <= -1) {
        window.location.href = '/';
        return false;
    }
}

viewplans is the page name.

Upvotes: 0

Valijon
Valijon

Reputation: 13103

document.referrer is not empty if your site URL was clicked from other website, like from google search, from facebook, twitter, etc...

So, If someone opens your site from bookmark o directly types your site URL, document.referrer is empty.

Let's see these examples:

Click this link http://www.w3schools.com/jsref/prop_doc_referrer.asp you can see that document.referrer is http://stackoverflow.com/questions/28646433/problems-with-document-referrer

If you search in google HTML DOM referrer Property, document.referrer will be http://google.es/...

And if you copy http://www.w3schools.com/jsref/prop_doc_referrer.asp opens new tab in your browser and paste it, document.referrer will be empty.

Upvotes: 15

Related Questions