【问题标题】:Is it possible to redirect a user to another page without clearing their history of the page using JavaScript & HTML?是否可以在不使用 JavaScript 和 HTML 清除页面历史记录的情况下将用户重定向到另一个页面?
【发布时间】:2019-04-14 05:22:28
【问题描述】:

我正在尝试将用户重定向到验证页面,在单击按钮后,我希望他们回到被重定向之前的位置。

我遇到的问题是他们所在的页面没有存储在他们的浏览器历史记录中。

我尝试过使用window.location.assignwindow.location.href

我使用 Edge 作为浏览器进行测试。

原始页面:

if(x === -1) {
  window.location.assign = "Redirect to Page";
}

重定向到页面:

function yes() {
  // attached to a button
  history.go(-1);
}

我希望回到原始页面,因为我的许多页面会将用户发送到“重定向到页面”

我真的很感谢这里的任何帮助,我对编程很陌生,说实话几乎不知道 php 和 jQuery 之间的区别。

如果我忽略了重要信息,请见谅。

【问题讨论】:

  • 当你说 " 没有存储在他们的浏览器历史记录中" 你的意思是当他们返回该页面时,重定向之前所做的任何更改都消失了,只有默认数据/页面正在显示?
  • 是的,基本上,他们的浏览器历史记录没有捕获进行重定向的页面。相反,它显示了他们在到达我的网站之前所在的任何页面。

标签: javascript html


【解决方案1】:

非常感谢您的帮助!

我最终使用 localStorage.setItem 和 localStorage.getItem 来跨页面存储 URL 的值。

非常感谢您的解决方案,我必须了解有关 php 和 JQuery 的更多信息

【讨论】:

    【解决方案2】:

    传递一个代表要返回的页面的查询参数:

    window.location = `redirect.html?redirect=${encodeURIComponent(window.location)}`;
    

    redirect.html:

    function yes() {
        window.location = decodeURIComponent(new URL(window.location).search.split("redirect")[1].split("=")[1]);
    }
    

    【讨论】:

      【解决方案3】:

      连接/断开用户连接似乎是个问题。如果我是对的,那么您可能不应该针对上一页,而是针对特定页面?

      我也遇到过同样的问题,我做了一个小项目示例:https://github.com/nicoesiea/authentification 你可以看看并做同样的事情......我想它应该可以帮助你解决你的问题。 (现在可能是一个老项目了......而且安全性非常非常糟糕 - 看看数据库中的密码,它们甚至没有加密......)

      但主体在这里,您显示登录模式弹出窗口(或重定向到页面)以查询登录名/密码,以便检查用户是否有效。这是你想要做的吗?

      祝你有美好的一天, 问候,尼科

      【讨论】:

      • 注意:PHP 是服务器端的代码(在用户访问您的页面之前,在其构建期间),JS (javascript) 是帮助您制作 DOM (HTML/CSS) 的代码客户端的修改或其他类型的魔术效果(使用访问者的性能机器 - 在浏览器中)
      • 大部分时间: - 我使用 PHP 从数据库中获取数据并在页面中显示它们。 - 我正在使用带有 JQuery 的 JS 在页面上添加新内容或更改一些 CSS 类(添加或删除它们)
      猜你喜欢
      • 1970-01-01
      • 2022-06-16
      • 2013-08-17
      • 1970-01-01
      • 2021-12-27
      • 1970-01-01
      • 1970-01-01
      • 2019-07-20
      • 1970-01-01
      相关资源
      最近更新 更多