我正在开发一个网络应用程序,我使用客户端路由(基本上,我们使用URL中#
之后的内容加载页面。)
但是,我注意到有时当我走一页然后我去另一页时,旧的是加载而不是新的。让我解释当我点击链接去任何我想要的地方时,我正在加载的页面正在加载。
我非常怀疑浏览器缓存会“覆盖”新内容。
我仍然不知道为什么它有时会发生(特别是当它是一个新的浏览器窗口时)。
是否有任何强制浏览器打开新页面的解决方案,例如在其他页面中打开页面以及关闭旧标签页?
修改
我目前正在使用GitHub页面来托管我的项目,所以在你的回答中,确保一切都是客户端。
答案 0 :(得分:1)
我找到了一个解决方案:在新标签页中打开我的链接,同时关闭旧标签。
可以使用以下代码完成:
byteArrayContent.Headers.Add("Content-Type", "multipart/form-data");
答案 1 :(得分:0)
您可以在所有请求中设置服务器的以下标头:
Cache-Control: no-cache
这将禁用该文件/响应的缓存。如果您使用的是expressJS服务器,则可以将其设置为:
function nocache(req, res, next) {
res.header('Cache-Control', 'private, no-cache, no-store, must-revalidate');
res.header('Expires', '-1');
res.header('Pragma', 'no-cache');
next();
}
并将此功能用作要禁用缓存的所有路由的中间件。
您可以在MDN Docs
上阅读有关缓存标头的更多信息