是否可以将额外的页面推送到用户的历史记录?
示例: 我们有一个公共市场,以及10种资源的轮播。我将尝试完成的流程就是这样
主页(拥有前10大资源轮播)->单击资源->将公共市场推入用户的历史记录(用户无需登陆页面)->用户可以浏览资源详细信息。
用户从资源页面单击返回->他进入公开市场->单击返回->再次进入主页
之所以有些奇怪,是因为我要在React中重做我公司的登录页面,但是公共市场在另一台服务器上,并且我不能真正改变公共市场本身的逻辑。我很确定答案是否定的,但是希望仍然存在:)
答案 0 :(得分:2)
您可以使用历史记录方法和onpopstate事件在javascipt中进行操作。
参阅文档:https://developer.mozilla.org/en-US/docs/Web/API/History_API
例如,当用户单击资源时,可以使用此代码
history.pushState({}, "marketplace", "markeplace.html");
window.location.href = 'ressource.html';
当用户到达资源时,您也可以使用replaceState和pushState,但是您也将使用onpopstate事件:
history.replaceState({}, "marketplace", "markeplace.html");
history.pushState({}, "ressource", "ressource.html");
window.addEventListener('popstate', (event) => {
document.location.href = document.location;
}, false);