如果上一页不在我的域中,则用户返回首页的历史记录

时间:2019-03-19 08:15:34

标签: javascript jquery

当用户单击“返回历史记录”时出现问题。 我在下面有一个示例代码:

<a href="javascript:history.back()" class="back">Back History</a>

我的用户直接从Google转到专页A。示例:domain.com/page-a 。和用户单击回溯历史。如果上一页不在我的域中,我希望用户回溯历史进入首页。 谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

请了解该方法基于用户导航历史记录的反向方法。 用户从Google或其他站点访问您的domain / domain.com/page-a,然后当用户单击“后退”按钮时,您的页面仅重定向到引用URL,即转到google或其他站点的URL。如果您在地址栏中输入url直接空白标签然后您单击返回按钮,然后重定向到空白页或返回空白页。

back()方法将历史记录列表中的上一个URL加载。

这与单击浏览器或“ history.go(-1)”中的“后退按钮”相同。

历史记录对象包含用户访问的URL(在浏览器窗口内)。

历史记录对象是窗口对象的一部分,可以通过window.history属性进行访问。

答案 1 :(得分:0)

这是您可以参考的基本示例。仅当您在网页中添加 LINK 时,此方法才有效;但是,如果您要更改浏览器的“后退历史记录”按钮,则它不是可能的

var referrerDomain = document.referrer.split('/')[2];
console.log(referrerDomain);
if (referrerDomain != "example.com") {
  var backHistory = document.getElementById("back-history");
  backHistory.href = "https://example.com";
}
<a href="javascript:history.back()" class="back" id="back-history">Back History</a>

我已经在JavaScript中使用的HTML中添加了id属性。 JavaScript正在检查引荐来源网址域,如第3行所示。请在更改域名后更改example.com,并在验证代码后删除console.log()