Skip to content

缓存

bfcache

多页项目 且 在 ssr 的情况下,浏览器前进后退 时候,会走缓存, 详细可见参考,参考 1,参考 2, 可用window.onpageshow进行调试,下面是 spring boot 的 themyleaf 禁用的代码

// 禁用bfc代码
@GetMapping
String getPerson(HttpServletResponse response){
    response.addHeader("Cache-Control", "no-store");
    return "people";
}
...

// js 调试代码
window.addEventListener('pageshow', function(event) {
    if (event.persisted === true) {
        // 页面从bfc中恢复
        console.log('This page was restored from the bfcache.');
    } else {
        // 页面正常加载
        console.log('This page was loaded normally.');
    }
});