使用浏览器的 "back" 按钮保持 Bootstrap 模态打开

Keep Bootstrap modal open with browser's "back" button

有没有办法让 bootstrap 模式在离开页面时保持打开状态,然后使用浏览器的后退按钮返回所述页面?

你应该读过所谓的bfcache,看到Is there a cross-browser onload event when clicking the back button? and How to prevent content being displayed from Back-Forward cache in Firefox?然后你应该知道bfcache保存了你页面的所有状态(包括JS的状态,DOM)。因此,一个打开的模态应该在 bfcache 中保存为打开状态,因此在返回时打开。你发现你的模式关闭了,那么会发生什么。

导航到其他页面(例如通过单击 link)会触发模态框的关闭(并且 bfcache 会保存带有已关闭模态框的页面)

可能的解决方案:

  1. 防止您的模态框在其外部单击时关闭(参见:Prevent Bootstrap Modal from disappearing when clicking outside or pressing escape?
  2. 启用会话并禁用 bfcache(返回时触发重新加载)当用户已经根据您的会话信息访问页面时重新打开模式