如何在Android 的 chrome上禁用缓存?
我更改了页面内容,并刷新了页面,但内容仍然很旧。
我已经像下面这样设置了 nginx 配置,但它没有效果。
#disable cache
add_header Cache-Control "no-cache, no-store, must-revalidate";
add_header Pragma no-cache;
add_header Expires 0;
有没有办法让我的最新页面无需一次又一次地手动清除缓存?
如何在Android 的 chrome上禁用缓存?
我更改了页面内容,并刷新了页面,但内容仍然很旧。
我已经像下面这样设置了 nginx 配置,但它没有效果。
#disable cache
add_header Cache-Control "no-cache, no-store, must-revalidate";
add_header Pragma no-cache;
add_header Expires 0;
有没有办法让我的最新页面无需一次又一次地手动清除缓存?
这可能不是最简单的方法,但它会 100% 工作,并且无论如何都应该成为您开发设置的一部分。
在 Windows 或 Mac 上使用 Google Chrome 网络工具将允许您进行“远程调试”。
Inspect
目前没有办法在 Android 的 chrome 上禁用缓存,但可以清除缓存。
更新:截至目前,有一种方法可以禁用缓存,需要连接手机并需要远程调试,请参阅 Dean Meehan 的回答了解更多信息
按照以下步骤清除缓存。
http://www.refreshyourcache.com/en/chrome-android/
我知道这个问题是关于在 Android 的 chrome 上禁用缓存,但这可能有助于人们寻找移动开发的解决方案。
要使用您的 Android 设备查看您网站上的更改,请使用 chrome 网络菜单中的新隐身标签。
重要提示:要在以隐身模式查看后查看新更改,您必须完全关闭隐身模式并重新打开,因为当前选项卡也会缓存。
要首先禁用缓存,您必须禁用正在编辑的脚本/css 缓存。
为此,请在文件包含中添加时间戳:
<link rel='stylesheet' href='/static/css/main.css?t={{ts}}'/>
<script type='text/javascript' src='/static/scripts/main.js?t={{ts}}'></script>
{{ts}}
作为时间戳(我正在使用 jinja 模板)。
然后,如果您编辑 html 页面,则可以更改请求,向其中添加随机参数:
测试 1:mywebsite.com/this_page
测试 2:mywebsite.com/this_page/?i=1
测试 3:mywebsite.com/this_page/?i=2
...
它更像是一种 hack,而不是真正的解决方案,但 chrome 友好地忽略了cache-control
元数据,所以没有很多干净的方法可以做到这一点。
以下 bash 脚本将重命名
<script src="path/to/app.js"></script>
至
<script src="path/to/app.js?t=18:15:45></script>
在一个index.html
文件中,这将阻止移动缓存。
#!/bin/bash
time=$(date +"%T")
sed -i "s/app.js/app.js?t=${time}/" ./path/to/index.html