说服浏览器缓存由JavaScript更改的DOM

时间:2011-04-29 09:42:03

标签: javascript browser-history

我有一个网络应用程序,在其首页上有一个登录表单。提交登录表单后,会在幕后发生一些JavaScript jiggery-pokery,并显示用户的数据 - 没有页面加载。

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

2 个答案:

答案 0 :(得分:0)

你可以尝试使用像这样的插件:http://benalman.com/projects/jquery-bbq-plugin/

您必须在网址中生成#logged链接,当您点击历史记录时,您只需重新请求用户信息。

希望这有帮助。

答案 1 :(得分:0)

我冒昧地猜测,而不是在客户端上存储用户登录数据的某些东西(这无论如何都是个坏主意),这些方面的东西会更好:

  1. 修复“jiggery-pokery”,使其不被破坏。

    • 我的意思是:它不是真正记录用户,只是给他们幻觉登录
    • 因此,您需要对其进行更改,以便存储一些信息(可能在会话中),以验证他们已登录。
  2. 修复了jiggery-pokery后,您的页面可以检查该信息并显示“已登录”的DOM。

    • 如果他们没有登录,它仍然使用旧的JS方法显示原始文件,登录并更新DOM(第一次)。
  3. 有意义吗?

    当前流程:

    1. 访问网站

    2. JS登录

    3. 更新DOM

    4. 新流程:

      1. 访问网站

      2. 检查是否已登录

      3. 提供适当的DOM

      4. JS登录

      5. 后端存储登录信息

      6. JS更新DOM。