我正在修改网站的外观(CSS修改),但由于烦人的持久缓存,无法在Chrome上看到结果。我尝试了Shift+刷新,但不起作用。
如何临时禁用缓存或以某种方式刷新页面以查看更改?
我正在修改网站的外观(CSS修改),但由于烦人的持久缓存,无法在Chrome上看到结果。我尝试了Shift+刷新,但不起作用。
如何临时禁用缓存或以某种方式刷新页面以查看更改?
当前回答
如何临时禁用缓存或以某种方式刷新页面以查看更改?
目前还不清楚你指的是哪种“缓存”。有几种不同的方法可以让浏览器持久地缓存内容。Web存储是其中之一,缓存控制是另一个。
一些浏览器还具有缓存,与服务工作者一起使用,以创建提供离线支持的渐进式Web应用程序(PWA)。
清除PWA的缓存
self.caches.keys().then(keys => { keys.forEach(key => console.log(key)) })
要列出缓存键的名称,请运行:
self.caches.delete('my-site-cache')
按名称删除缓存密钥(即我的站点缓存)。然后刷新页面。
如果刷新后在控制台中看到任何与工作程序相关的错误,则可能还需要注销已注册的工作程序:
navigator.serviceWorker.getRegistrations()
.then(registrations => {
registrations.forEach(registration => {
registration.unregister()
})
})
其他回答
如何使用书签来更改页面名称以防止页面缓存。在Chrome中,您将创建一个新书签,然后将代码粘贴到URL中。单击书签,页面将重新加载时间戳以阻止缓存。
javascript:(function(){var idx = location.href.indexOf('?');var d = new Date();var str = location.href.substr(0,idx) + '?version=' + d.getTime();location.href=str; void 0;})();
如果您使用的是ServiceWorkers(例如,对于Progressive web应用程序),您可能也需要在开发工具中的应用程序>ServiceWorkers下选中“重新加载时更新”。
我遇到了同样的问题,我试着:
控制换档R,禁用F12中的缓存控制F5。
然后我发现,对非https站点使用.appcache清单是不可取的。我删除了我的site.appcache文件及其在html标记中的引用,现在我看到了每个页面的最新版本!
将这串代码添加到您的中,它应该会成功。
<meta name="robots" content="noarchive">
我只是被抓住了,但不一定是因为Chrome。
我正在使用jQuery发出AJAX请求。我在请求中将缓存属性设置为true:
$.ajax({
type: 'GET',
cache: true,
....
将此设置为false修复了我的问题,但这并不理想。
我不知道这些数据保存在何处,但我知道chrome从未在服务器上发出请求。