location.reload()的缓存行为在浏览器之间是不同的

时间:2016-08-25 08:09:37

标签: javascript browser-cache

MDNlocation.reload()有一个可选参数。

  

forcedReload

     

是一个布尔标志,当它为真时,会导致始终从服务器重新加载页面。如果为false或未指定,浏览器可能会从其缓存中重新加载页面。

但是这个论点在IE和Chrome中都不起作用。

下表显示了发送到服务器的标头(no-cache表示Pragma: no-cache):

+---------------+----------+-------------------+-------------------+
|               |   IE11   |     Firefox47     |      Chrome54     |
+---------------+----------+-------------------+-------------------+
| reload(false) | no-cache | If-Modified-Since | If-Modified-Since |
+---------------+----------+-------------------+-------------------+
| reload(true)  | no-cache | no-cache          | If-Modified-Since |
+---------------+----------+-------------------+-------------------+

IE和Chrome会发送不同的缓存标头,不仅会忽略forcedReload参数。

此外,W3C Spec of this method似乎没有提到缓存。

所以我的问题是......

  • location.reload()对缓存有什么期望?
  • 有没有(标准化)讨论呢?

0 个答案:

没有答案