MDN说location.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()
对缓存有什么期望?