如何在谷歌Chrome浏览器中强行刷新而不需要缓存?
Chrome有相当于Firefox的Ctrl+F5刷新的功能吗?
我昨晚换了一个Gravatar,在Firefox中刷新后可以看到新的Gravatar,但Chrome浏览器似乎顽固地挂在旧的Gravatar上。我想我可以手动清除缓存,但如果有什么键盘命令,我想知道是什么(因为这对网页开发也有帮助)。
Chrome有相当于Firefox的Ctrl+F5刷新的功能吗?
我昨晚换了一个Gravatar,在Firefox中刷新后可以看到新的Gravatar,但Chrome浏览器似乎顽固地挂在旧的Gravatar上。我想我可以手动清除缓存,但如果有什么键盘命令,我想知道是什么(因为这对网页开发也有帮助)。
Chrome文档](http://www.google.com/support/chrome/bin/answer.py?answer=95743)指出Ctrl+F5或Shift+F5应该可以做到 “重新加载当前页面,忽略缓存内容"。”
如果它不起作用,你可以提交一个错误报告,但是看起来有很多人都有同样的问题。
更多细节:
对于Shift+Command+R,缓存是被忽略的,资源被请求,就像没有缓存一样。对于大多数(如果不是全部的话)内容,服务器应该会以If-Modified-Since
响应。
强制依赖缓存的唯一方法似乎是点击网页上的链接,或者是跟随书签的链接,或者是进入URL位置栏并点击返回(Command+L,返回)。
然而:Chrome浏览器中一个长期以来已知的问题,Chrome Forced Refresh does not ignore cache(以及最近的Reload/Refresh does not refresh),或者说实际上可能是WebKit中的一个功能,动态插入的子资源即使在重新加载包含的文档时也不会被重新验证,使得Chrome浏览器在使用上述方法时,无法清除所有相关的缓存。一位Chromium开发者解释:
开发者工具的网络选项卡在加载时显示所有资源的瀑布流。右边有两条竖线………..其中一条在悬停时标有 “Load event fired"。在这一点之后加载的任何东西都不是正式的页面的一部分(一个页面可以持续发出请求几个小时)[…],所以它不会被任何组合的f5 "刷新",这是设计上的。 […] […. ]
缓存[任何资源的缓存,在 "Load event fired "行之前和之后]是由响应的HTTP头文件决定的,而不是由发出请求的时间决定的。
我在服务器上有一些文件(图片和完整的html页面)会被更新,但在chrome中没有任何组合键可以强制获取它们。你必须关闭和重新打开隐身窗口 - 因此我依赖快捷键 - CTRL-W来关闭,CTRL-SHIFT-N来重新打开。