2

有时在完全缓存的情况下衡量您的站点性能很有用。但是浏览器很难测试,因为在每次手动页面刷新时,它都会重新验证所有项目,这会导致对网络服务器上的每个资源的请求。有效的缓存项将响应 HTTP 304,无效的缓存项将响应 200 OK。因此,由于网络服务器的延迟,您最终会在这个特定用例中出现错误的时间安排。

一种解决方案是打开一个新选项卡,然后输入站点的 url,这会导致我的预期行为:缓存的项目是从磁盘提供的。一旦您点击刷新,这些项目就会再次重新验证。

这个工作流程(打开选项卡、打开选项卡等)有点糟糕,所以我想问一下,是否有人知道更好的方法来实现这一点。也许到目前为止我在互联网上错过了一个很好隐藏的快捷方式。

4

2 回答 2

4

只需添加一个书签并在“url”字段中填写以下内容:javascript:location.href=location.href;

每当单击“重新加载”按钮时,浏览器重新验证给定 url 的所有资源确实非常有意义,因为这最符合用户这样做的意图 - 换句话说,“重新加载”预计会导致显示“新鲜”数据,而不是简单地提供浏览器缓存中已有的数据。除此之外,所有主要浏览器都实现了一种实际获取每个资源的方法,绕过 http 标头中的任何指令来缓存它(例如“304 未修改”状态),使用快捷键如 SHIFT/CTRL + R/ F5。

于 2012-06-20T08:04:16.267 回答
1

在 Firefox 中,只需关注 url 栏(在 Windows 和 Linux 上为 Ctrl-L,在 Mac 上为 Cmd-L)并按 Enter。这被视为 url 的正常顶级加载,而不是重新加载。

不幸的是,其他浏览器处理这类事情的方式不同。处理跨浏览器的最简单方法可能是有一个小工具页面,该页面加载您想要在 iframe 中重新加载的内容,并有一个设置subFrameWindow.location.href = subFrameWindow.location.href为触发新加载的按钮....

于 2012-06-19T20:33:42.930 回答