JS onclick="history.go(-1) only if under my domain JS onclick="history.go(-1) only if under my domain php php

JS onclick="history.go(-1) only if under my domain


You can use document.referrer and compare it to window.location.host.

if (document.referrer.split('/')[2] === window.location.host)if (document.referrer.indexOf(window.location.host) !== -1)

So your HTML will look like this:

<a href="" onclick="if (document.referrer.indexOf(window.location.host) !== -1) { history.go(-1); return false; } else { window.location.href = 'website.com'; }"><?php echo JText::_('VOLTAR'); ?></a>


Adding branching logic into an inline click handler gets messy. If you can move this to a function and reference it it will be far more readable.

if(document.referrer.indexOf('mysite.com') >= 0) {    history.go(-1);}else {    window.location.href = 'myHomePageUrl'; // this might just be '/' of your site}

Edit:If you are not concerned about adding names to the pages global scope you can create a function in a script tag immediately before the link you are creating:

<script>    function backClick() {        // above conditional goes here.        return false;    }</script><br/><a href="" onclick="backClick()"><?php echo JText::_('VOLTAR'); ?></a>


I have tried some of the codes above and I needed to make some changes to make it work for me.

  1. remove href=""
  2. "window.location.href" must havehttp://

function backClick() {			if (document.referrer.indexOf(window.location.host) !== -1) {				history.go(-1); return false;			}			else { window.location.href = 'https://stackoverflow.com'; }    }
<a onclick="backClick()">go back</a>