说服浏览器缓存被JavaScript修改过的DOM

Convince a browser to cache a DOM altered by JavaScript

本文关键字:修改 DOM JavaScript 浏览器 缓存      更新时间:2023-09-26

我有一个web应用程序,在其首页上有一个登录表单。当提交登录表单时,一些JavaScript欺诈在后台发生,用户的数据出现了——没有页面加载。

问题是,当用户从页面导航离开,然后使用返回按钮导航回来时,页面处于原始的、未登录的状态。我可以让浏览器缓存修改后的DOM吗?

您可以尝试使用如下插件:http://benalman.com/projects/jquery-bbq-plugin/

你必须在你的url中生成一个#logged链接,当你点击history back时,你只需要重新请求用户信息。

我冒昧地猜测,与其将用户登录数据存储在客户机上的东西拼凑在一起(这无论如何都是一个坏主意),不如这样做会更好:

  1. 修复"jiggery-pokery",使其不会被破坏。

      我的意思是:它并没有真正让用户登录,它只是给他们一种的错觉已经登录了
  2. 所以你需要改变它,以便它存储一些信息(可能在会话中)来验证他们是否登录。
  3. 一旦jiggery-pokery被修复,您的页面就可以检查该信息并呈现"已登录"的DOM。

    • 如果他们没有登录,它仍然使用旧的JS方法来显示原始,登录他们,并更新DOM(第一次)。

有意义吗?

电流:

  1. 访问网站

  2. JS登录

  3. 更新DOM
新流程:

  1. 访问网站

  2. 检查是否登录

  3. 呈现合适的DOM

  4. JS登录

  5. 后端存储登录信息

  6. JS更新DOM