代码之家  ›  专栏  ›  技术社区  ›  Darren

为返回到浏览器历史记录中的按钮编写条件

  •  0
  • Darren  · 技术社区  · 6 年前

    我有一个年龄限制的模式,当用户点击“否”时,它会回到他们历史上的一个页面,但如果用户在一个新的标签页上访问了该网页怎么办他们没有历史?这个按钮能把它们带到一个特定的url吗?浏览器的默认主页结帐?

    这就是我现在拥有的:

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

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

    就用户体验而言,在我给出的三个场景中,我的意思是,我不确定什么是最好的,但我愿意接受最干净的东西。

    2 回复  |  直到 6 年前
        1
  •  0
  •   Pablo Darde    6 年前

    在ui方面,我认为在浏览器历史中重新使用用户是错误的,因为这不是用户真正想要做的。另一方面,关闭标签页这不是用户想要的。

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

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

    这样,下次用户试图进入您的页面时,它将不再看到模式,只看到安全的web信息。我相信这是一个正确的导航解决方案用户应该决定是否要关闭选项卡,是否要返回历史记录,等等。

        2
  •  0
  •   Nosajimiki    6 年前

    如果有要返回的特定页,可以使用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
    

    一般来说,这被认为是最佳实践,除非你的主页也不适合年龄,那么你可能想做一个具体的“好”页。

    推荐文章