【问题标题】:Send a user back only if the previous page is on the same site仅当上一页在同一站点上时才将用户发回
【发布时间】:2021-11-10 03:45:25
【问题描述】:

我在一个页面上有这段代码,如果用户登录并尝试访问它,它会将他们发送回上一页:

useEffect(() => {
    if (user) {
      router.back();
    }
  }, [router, user]);

如果用户通过其他站点的 URL 访问该页面,他们将被返回到之前的站点。

是否只有在之前的 URL 位于同一站点时才能将它们发回?

例如:
foo.com/home 来到foo.com/login 的用户将返回到上一页。
而从google.com 来到foo.com/login 的用户将被发送到foo.com/home

【问题讨论】:

  • 根据您的示例,无论用户从何处登录到您的登录页面,您始终将用户从登录重定向到主页。在那种情况下,您不必检查上一页总是重定向到主页

标签: javascript reactjs ecmascript-6 next.js


【解决方案1】:

我觉得你可以用document.referrer跟自己的主机比较。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-04
    • 1970-01-01
    • 1970-01-01
    • 2023-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多