【发布时间】:2011-04-29 09:42:02
【问题描述】:
我有一个 Web 应用程序,其首页上有一个登录表单。当登录表单被提交时,一些 JavaScript 诡计发生在幕后,用户的数据出现了——没有页面加载。
问题在于,当用户离开页面,然后使用后退按钮返回时,页面处于其原始的未登录状态。我可以让浏览器缓存更改后的 DOM 吗?
【问题讨论】:
标签: javascript browser-history
我有一个 Web 应用程序,其首页上有一个登录表单。当登录表单被提交时,一些 JavaScript 诡计发生在幕后,用户的数据出现了——没有页面加载。
问题在于,当用户离开页面,然后使用后退按钮返回时,页面处于其原始的未登录状态。我可以让浏览器缓存更改后的 DOM 吗?
【问题讨论】:
标签: javascript browser-history
您可以尝试使用这样的插件:http://benalman.com/projects/jquery-bbq-plugin/
您必须在您的网址中生成一个#logged 链接,当您点击历史记录时,您只需重新请求用户信息。
希望这会有所帮助。
【讨论】:
我冒昧地猜测,与其在客户端上存储用户登录数据(无论如何这都是个坏主意),不如将一些类似的东西放在一起会是一个更好的主意:
修复“jiggery-pokery”,使其不会损坏。
一旦问题得到修复,您的页面就可以检查该信息并显示“已登录”的 DOM。
有意义吗?
当前流量:
访问网站
JS 登录
更新 DOM
新流程:
访问网站
检查是否登录
提供适当的 DOM
JS 登录
后端存储登录信息
JS 更新 DOM。
【讨论】:
Cache-control 中设置 no-store。