如何在使用 JavaScript 的 Firefox 中重新加载页面时删除缓存?

问题描述 投票:0回答:1

到目前为止,我总是发送 AJAX 请求,并在请求完成后运行

location.reload()
,更新页面。最近,由于某种原因,重新加载页面时仍保留旧的输入值。我怀疑罪魁祸首是 Firefox 的缓存,因为当我删除缓存或使用 F5 正常重新加载页面时,输入值也会更新。

我尝试了

window.location.href = window.location.href
,同样的事情发生了。

我尝试了

window.location.replace(window.location.href)
,同样的事情发生了。

我做了研究,看到有人建议

location.reload(true)
,效果很好。但是,我还了解到该方法已被弃用,并且已在某些浏览器中删除。我不想在这种不确定性的基础上构建我的代码库。

因此,我的问题是:我可以编写哪些代码来告诉浏览器强制重新加载,删除所有缓存?

我只想删除某些函数中的缓存,而不是全部。我不喜欢形式。

javascript laravel firefox browser-cache
1个回答
0
投票

我读过有关不支持重新加载的信息,但这似乎表明它没问题(如果我在这里误解,请有人纠正我,这可能是 Firefox 支持的保证):https://developer.mozilla.org/ en-US/docs/Web/API/Location/reload

我也使用过它,从未遇到过问题,为 Chrome 和 Edge 提供服务。

您还可以尝试在重新加载时使用 ? 将虚拟数据添加到 URL 末尾,尽管我自己没有使用过此方法。

在未来的项目中,Vue、React等前端框架将允许你使用State,这可以防止整个重新加载的情况,将来可能值得检查。

© www.soinside.com 2019 - 2024. All rights reserved.