【发布时间】:2014-11-26 01:07:57
【问题描述】:
当我在浏览器中按下<== back 按钮时,发生了什么?
- 是否再次使用相同的 URL 进行查询?
- 当前 DOM 状态是否已保存和恢复? (仅限 HTML)
- 当前页面状态是否已保存和恢复? (HTML + Javascript)
- 是否查询了服务器,但如果发送
unchanged,则使用本地缓存? - 一般来说,我们可以认为我们在前一页上有最新信息吗?
由于这些情况,我不清楚:
- Stackoverflows 有时会非常糟糕地处理我的投票(不显示它,阻止我撤消,因为我上次投票是在 5 分钟前,但它在另一个选项卡中等等)
- 当我在本地环境中工作时,我并没有感觉被询问太多
- 我总是不确定返回时会发生什么,因此作为开发人员,请尽可能避免使用它(实际上只是为了找回历史中的 URL)
我的观点是再次查询是最好的主意,但它不是最快的,在这种情况下浏览器可能希望快速(给用户留下深刻印象)......另一方面,存储页面状态必须消耗大量内存...
【问题讨论】:
-
好问题,我认为它保留了 HTML 和 JS,但我不确定,也许它在不同的浏览器中会发生变化
-
这确实取决于浏览器。当您按下返回时,通常不会查询任何内容,并且将使用缓存来加载页面。问题通常是当您在页面上使用了 JavaScript,然后从缓存中重新加载它。
标签: javascript dom browser back-button