在javascript中,当前网址包含片段(#
)时,有没有办法从浏览器缓存重新加载当前页面?
我知道window.location.reload(false)
应该这样做,但我已经尝试过,但它还没有向服务器发出请求。
如果我window.location.href=window.location.href
,它将从缓存中加载HTML,但仅当URL不包含片段时才会加载。
有人知道解决方案吗?
答案 0 :(得分:0)
我简化了一些事情,但通常你的浏览器会发出请求而不管缓存状态,它是否会使浏览器使用缓存的服务器响应。
如果服务器决定(基于请求haders,如:ETag或Cache标头)应使用缓存版本并使用304 Not modified
进行响应,则浏览器将使用缓存版本。
您可以尝试使用HTML5 cache manifest(对于支持它的浏览器),以避免向服务器请求没有向页面本身发出请求而没有更改的页面(但浏览器仍将加载清单文件)