javascript - JS onclick="history.go(-1) 只有在我的域下

标签 javascript php joomla

我有一个 Joomla 网站,我有以下问题,我需要在我的产品详细信息页面上有一个“返回搜索页面”功能,我在根据对我最初问题的回复进行一些更改后使用此代码:

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

现在,如果访问者从另一个网站直接访问我的产品页面并单击此按钮,他将被重定向到我网站的主页,这没问题,但如果我在我网站的搜索页面中,单击产品页再点击后面的搜索链接,访问者也被重定向到我的主页,这不好,应该被重定向到上一页,这是他自己的搜索页。

有没有办法修改这段代码以完成类似的事情:

如果访问者来 self 的搜索页面或我网站的任何地方,通过单击此他将被重定向到上一页,如果访问者来 self 的网站之外,通过单击此他将被重定向到我的主页?

最佳答案

您可以使用 document.referrer 并将其与 window.location.host 进行比较。

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

因此您的 HTML 将如下所示:

<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>

关于javascript - JS onclick="history.go(-1) 只有在我的域下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19417084/

相关文章:

javascript - jQuery/Javascript "for"函数性能改进

php - 我想改变mysql表最后一行的格式

javascript - 我想在 javascript 中调用一个 php 函数,并将两个数组作为参数传递给它。

php - joomla 2.5 数据库不接收查询?

javascript - 我们可以在 Javascript 中命名事件处理程序吗?

javascript - 本地存储 javascript : How can I split 1 JSON containing 2 object into 2 JSON (1 per object? )

php - 有更短的代码吗?

Joomla - 覆盖 getItem 方法

PHP MySQL INSERT INTO解析错误

javascript - 在加载到 html 之前,我如何获取图像大小?