说服浏览器缓存由JavaScript更改的DOM
我有一个web应用程序,在它的首页上有一个登录表单。当提交登录表单时,会在幕后发生一些JavaScript恶作剧,并显示用户的数据,而无需页面加载说服浏览器缓存由JavaScript更改的DOM,javascript,browser-history,Javascript,Browser History,我有一个web应用程序,在它的首页上有一个登录表单。当提交登录表单时,会在幕后发生一些JavaScript恶作剧,并显示用户的数据,而无需页面加载 问题是,当用户离开页面导航,然后使用“后退”按钮向后导航时,页面处于原始的未登录状态。我可以让浏览器缓存修改过的DOM吗?您可以尝试使用如下插件: 您必须在url中生成一个已登录的链接,当您单击历史记录返回时,您只需重新请求用户信息 希望这能有所帮助。我大胆猜测,与其将用户登录数据存储在客户端上的东西拼凑在一起(这是个坏主意),不如采用以下方法: 修
问题是,当用户离开页面导航,然后使用“后退”按钮向后导航时,页面处于原始的未登录状态。我可以让浏览器缓存修改过的DOM吗?您可以尝试使用如下插件: 您必须在url中生成一个已登录的链接,当您单击历史记录返回时,您只需重新请求用户信息
希望这能有所帮助。我大胆猜测,与其将用户登录数据存储在客户端上的东西拼凑在一起(这是个坏主意),不如采用以下方法: 修好这把乱七八糟的拨火棍,使它不会坏 我的意思是:这并不是真的让用户登录,只是给他们一种被登录的错觉 因此,您需要对其进行更改,以便它存储一些信息,这些信息可能存储在验证他们是否登录的会话中。 一旦jiggery扑克被修复,您的页面可以检查该信息并显示登录的DOM 如果他们没有登录,它仍然使用旧的JS方法来显示原始文档,登录它们,并在第一次更新DOM。 有道理吗 电流: 访问站点 JS登录 更新DOM 新流程: 访问站点 检查是否已登录 呈现适当的DOM JS登录 后端存储登录信息 JS更新DOM
当按下后退按钮时,浏览器不会向服务器发出请求,因为页面已缓存。我试图避免在Cache-control中设置no-store。好吧,解决方案是让Javascript在页面加载之前检查用户是否登录,因此如果用户登录,则会显示登录的DOM。不过,这仍然无法修复坏掉的登录系统:-/给人一种登录的假象似乎会让人更头疼。这不是假象-我真的在他们的浏览器中设置了cookie。我只想淡入淡出,而不是产生不和谐的页面加载。相关: