为可追溯到浏览器历史中的按钮编写条件

时间:2018-11-02 21:00:05

标签: javascript browser-history

我有一个年龄限制模式,当用户单击“否”时,它将返回其历史记录中的页面,但是,如果用户在一个新的标签上访问了该网页,该怎么办?他们没有历史吗?该按钮能否将它们带到特定的URL?浏览器的默认主页?关闭标签页?

这是我目前拥有的:

<a onClick="goBack()">Go Back</a>

<script>
    function goBack() {
      window.history.back();
      return false;
    }
</script>

就UX而言,在我给出的三种方案中,我的意思是我不确定最好的方案,但是我愿意接受最干净的方案。

2 个答案:

答案 0 :(得分:0)

如果您有要返回的特定页面,则可以使用location.replace或location.assign。看起来像这样:

window.location.replace("https://mywebsite.com"); // does not create a point in Browser History

window.location.assign("https://mywebsite.com"); // creates a point in Browser History

通常,这是最佳做法,除非您的主页也不适合年龄,否则您可能要创建一个特定的“ Good By”页面。

答案 1 :(得分:0)

就UI而言,我认为在浏览器历史记录中重新创建用户是错误的,因为这并不是用户真正想要的。另一方面,关闭选项卡并不是用户想要的。

那么,什么是理想的解决方案?

我将为用户创建一个登录页面,然后在该登录页面中打开一个询问用户年龄的模式窗口。如果用户选择“否”,我将其答案保存在本地存储浏览器中并关闭模式,显示有关您网站的基本安全信息。

这样,在下次用户尝试输入您的页面时,它将不再看到模式,仅显示安全的Web信息。我相信这是正确的导航解决方案。用户应决定是否要关闭该标签页,是否要返回历史记录等等。