后退按钮无法与pushState或replaceState一起正常使用

时间:2019-10-26 20:49:22

标签: javascript browser-history pushstate html5-history

我的主页上有几张照片。单击照片可打开该照片的模式窗口。

打开模式窗口后,我想更新URL,以便刷新页面会将您带到照片的“详细”页面。

如果在详细信息页面上单击后退按钮,则应返回首页。

打开模式窗口并更新URL时,单击“后退”按钮应将您带到上一个站点,而不是首页。

我当前正在使用@Controller public class NController { @GetMapping("/carmodelget") public String tester(Model model, String param){ System.out.println("get request"); model.addAttribute("name", param); return "carmodel"; } @PostMapping("/carmodel") public String aaa(){ System.out.println("post request"); String param = "test"; return "redirect:" + "/carmodelget?param=" + param; } } ,因为这意味着您可以单击照片并更新URL。单击后退按钮时,它将带您到上一个站点,而不是我想要的主页。

这是我的问题所在:

当模式窗口打开时,URL被更新。如果刷新页面,则会转到该照片的详细信息页面。但是,当您单击“后退”按钮时,您将跳过主页并完全离开网站,这不是我想要的。

如何使这种行为起作用?

为了澄清,这就是我想要的:

  • 打开模式窗口>> [URL已更新] >>单击后退按钮>>带您到上一个站点
  • 打开模式窗口>> [URL已更新] >>刷新页面>>转到照片详细信息页面>>单击后退按钮>>转到主页

请使用香草Javascript。

谢谢您的帮助。

0 个答案:

没有答案