我正在开发一个优惠网站,我们正在开发一种功能,可以通过电子邮件将页面中列出的优惠发送给最终用户。 在我们的网页中有一个名为 Offers 的部分,其中包含作为 Offers 的标签 ID。 当用户点击 url 中的链接时 链接:https://www.test.com/service#Offers 预期:应该加载服务页面并且应该滚动到优惠部分 这在用户已经登录时有效。 但是当用户未登录时,用户请求将被转发到登录页面,然后它恢复到/service。 但是这次,url中缺少#anchor https://www.test.com/service 所以滚动没有发生。 请帮我解决这个问题。 如果我可以用 https://www.test.com/service?Offers 替换它是否可取? 请指教。
最佳答案
您的问题与您的前端有关,它不会将 URL 中的 anchor 发送到后端,因为它代表一个前端 状态(这是设计使然,无法更改)。因此,当登录页面在 session 中保留返回 URL,然后在登录后重定向时,重定向不包含 anchor ,因为后端根本没有 anchor 。
如果您的登录是基于 HTTP 重定向,则网络不会为您的问题提供任何 native 解决方案。
关于javascript - 保留 HTTP 重定向之间的 URL 哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67991512/