5

如果我使用history.back()按钮按下那么会发生什么?

是否会从浏览器的本地历史记录或缓存中显示 HTML 内容,而无需浏览器向服务器请求?还是浏览器会根据浏览器历史记录中的 URL 向服务器请求?

4

2 回答 2

4

在 JavaScript 中调用“history.back()”与点击浏览器用户界面中的后退按钮相同(但是,如果当前查看的位置包含框架并且已经导航,如果你是迂腐的话,可能会有细微的差别) .

至于结果是来自服务器还是“缓存”:这取决于用户代理(浏览器)。规范(RFC 2616 第 13.13 节, http: //256stuff.com/gray/docs/rfc2616/13.html#13.13)说:

历史机制和缓存是不同的。特别是历史
机制不应该尝试显示
资源当前状态的语义透明视图。相反,历史机制旨在
准确显示用户在检索资源时所看到的内容。

但是,用户代理的实现质量不同。例如,Mozilla/Firefox 的相关元错误可以在https://bugzilla.mozilla.org/show_bug.cgi?id=288462找到

如果您尝试“返回”到的页面具有合适的缓存标头,它将从缓存中获取,而不是从服务器中获取。

于 2011-06-27T11:13:56.890 回答
0

这取决于浏览器。

history.back()按钮的行为取决于浏览器制造商。

于 2010-04-23T03:04:24.953 回答