【问题标题】:Javascript go back on page loadJavascript 返回页面加载
【发布时间】:2014-08-12 19:18:49
【问题描述】:

我有一个 Wordpress 网站,其中有一个受限页面,如果用户导航到此页面但未登录,他们会被发送到注册页面。

如果他们使用此表单登录,他们确实会登录,但会停留在显示登录表单的同一页面上。

我希望他们能够登录,然后当页面重新加载时,他们会被发送到他们之前尝试查看的任何受限页面。

在我使用过的页面模板中:

<?php if(!is_user_logged_in()) { ?>
show login form
<?php } else { ?>

<?php } ?>

如果他们已登录然后返回上一页(在他们因未登录而被重定向之前),我需要在其中输入一些内容。

谢谢

【问题讨论】:

  • 当使用“login?origin=foo”之类的 url 将用户重定向到登录表单时,提交登录表单时只需将用户发送到原始页面。
  • 不幸的是,wordpress 会员系统插件限制了将用户重定向到我选择的页面(即“注册”页面)的页面,因此用户访问的 URL 是由插件生成。

标签: javascript wordpress redirect


【解决方案1】:

如果我理解您的问题,那么我认为 window.location javascript 属性就是您要寻找的。像这样使用它:

window.location = "http://myredirect.com"

如果您想了解更多信息,请参阅this post's top answer

如果你真的想使用历史返回按钮,你可以看看history.back()this question and top answer中的引用。

【讨论】:

  • 我有 3 个不同的页面受到限制,如果用户没有登录,所有这些页面都会将用户发送到注册页面。所以我使用的代码不能有固定的 URL,因为它们只需要回到他们来自 3 个中的哪一个。
  • history.back() 函数可能是您正在寻找的(基本上只需在用户浏览器中单击“返回”)。或者,您可以在从用户到服务器的请求中包含源页面 url,然后在重定向中使用该信息。
  • 我刚刚找到了另一个建议使用的主题:window.location.replace(document.referrer) 这很有效,但是在将页面发送回给我时将其置于循环中,但还不够远,重定向仍然生效,我必须返回 2 页,这可以使用吗?
猜你喜欢
  • 1970-01-01
  • 2012-12-20
  • 1970-01-01
  • 1970-01-01
  • 2020-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多