说服浏览器缓存被JavaScript修改过的DOM
Convince a browser to cache a DOM altered by JavaScript
我有一个web应用程序,在其首页上有一个登录表单。当提交登录表单时,一些JavaScript欺诈在后台发生,用户的数据出现了——没有页面加载。
问题是,当用户从页面导航离开,然后使用返回按钮导航回来时,页面处于原始的、未登录的状态。我可以让浏览器缓存修改后的DOM吗?
您可以尝试使用如下插件:http://benalman.com/projects/jquery-bbq-plugin/
你必须在你的url中生成一个#logged链接,当你点击history back时,你只需要重新请求用户信息。
我冒昧地猜测,与其将用户登录数据存储在客户机上的东西拼凑在一起(这无论如何都是一个坏主意),不如这样做会更好:
-
修复"jiggery-pokery",使其不会被破坏。
- 我的意思是:它并没有真正让用户登录,它只是给他们一种的错觉已经登录了
- 所以你需要改变它,以便它存储一些信息(可能在会话中)来验证他们是否登录。
-
一旦jiggery-pokery被修复,您的页面就可以检查该信息并呈现"已登录"的DOM。
- 如果他们没有登录,它仍然使用旧的JS方法来显示原始,登录他们,并更新DOM(第一次)。
有意义吗?
电流:
-
访问网站
-
JS登录
更新DOM
访问网站
检查是否登录
呈现合适的DOM
JS登录
后端存储登录信息
JS更新DOM
相关文章:
- window.open:是否可以通过修改DOM来打开一个新窗口
- 修改 DOM 后如何确保 DOM 再次准备就绪
- 如何在不创建新元素的情况下修改 DOM 元素的位置
- 无法修改DOM元素的类
- 在页面显示给用户之前拦截并修改DOM
- 使用 JavaScript 修改 DOM 元素属性
- 如何在不牺牲可用性的情况下修改 DOM 中的大量元素
- 如何直接在 ReactJS 中修改 DOM
- 使用 forEach 方法修改 dom 元素
- AJAX修改DOM&调用函数
- 动态修改DOM并添加到文档中
- 使用JavaScript/jQuery修改DOM的可访问性问题
- 查找并跟踪修改DOM的javascript代码
- 为什么不应该使用延迟脚本来修改DOM呢
- 修改DOM后,jQuery选择器不工作
- 如何管理同时修改DOM
- 有没有一种方法可以直接用jquery修改DOM元素的属性?
- 手动修改DOM的innerHTML会停止ReactJS监听器
- 当使用'this'时,替代总是引用父节点和子节点来修改DOM
- 用javascript修改DOM是行不通的