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

时间:2017-10-15 10:33:51

标签: javascript web

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

让我们说

  • facebook.com〜> mysite.com/page〜> myBackBtn充当 goHome mysite.com
  • mysite.com/page〜> mysite.com/page2〜> myBackBtn充当 goBack mysite.com/page

2 个答案:

答案 0 :(得分:0)

您可以使用document.referrer获取链接到当前页面的网页的网址。请注意,这很容易被欺骗。

如果用户按照上一页中的链接访问当前页面,那么会工作。如果他们使用了书签,或者输入了网址等,则referrer将为空白,并且无法,您可以获取之前窗口中的内容信息。 (特别是:history对象中没有任何内容可以告诉您。)这只是浏览器中无法提供的信息。

答案 1 :(得分:0)

您可以尝试使用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并不总是准确,请参阅单页应用