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.
- remove href=""
- "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>