检查最后一个窗口历史记录是否来自某个 URL



是否可以检查上次浏览器历史记录是否来自 mysite.com,那么goBack()其他goHome()

比方说

  • facebook.com ~> mysite.com/page ~> myBackBtn 充当 goHomemysite.com
  • mysite.com/page ~> mysite.com/page2 ~> myBackBtn 充当 goBackmysite.com/page
您可以使用

document.referrer来获取链接到当前页面的页面的URL。请注意,这很容易被欺骗。

仅当用户点击上一页的链接进入当前页面时,这才有效。如果他们使用书签或输入URL等,referrer将是空白的,您无法获取有关以前窗口中的内容的信息。(特别是:history对象中没有任何内容可以告诉您。这只是浏览器中不可用的信息。

您可以

尝试使用 document.referrerhistory API 作为解决方案,但请注意,这并不总是有效:

if (document.referrer === 'my.domain.com') {
   history.back(); // act as if user clicked the browser back button
} 
else {
   window.location.href = 'http://my.domain.com/home';
}

不适用于IE,document.referrer并不总是准确的,请参阅单页应用程序

最新更新