我只知道清理缓存,要么装插件,要么进设置里去清 但是有些情况 user 不会。 想问一下, 有没有什么 api 可以清理缓存 做一个按钮,点击以后就能清理。
1
taogen 2023-05-11 13:59:03 +08:00
|
3
wolfie 2023-05-11 14:03:46 +08:00
这届用户不行,连缓存都不会清理,导致功能不可用。
|
4
crab 2023-05-11 14:04:18 +08:00
|
5
unclemcz 2023-05-11 14:05:03 +08:00 via Android
换个思路,前端禁止缓存,引入静态资源的时候都加随机版本号。
|
6
ovtfkw 2023-05-11 14:06:28 +08:00
alter 之
|
7
SaltyLeo 2023-05-11 14:07:19 +08:00
user 应该知道他需要清除缓存才能继续下一步吧。
如果是 chrome ,可以在你的页面上设置一个按钮,链接为:chrome://settings/clearBrowserData ,点击后会弹出确认清除浏览数据的页面,点击清除数据即可。 |
8
gongxuanzhang 2023-05-11 14:09:31 +08:00 11
function clearCache(){
alert('清理缓存成功') } |
9
hua123s 2023-05-11 14:10:18 +08:00 2
|
10
oott123 2023-05-11 14:10:39 +08:00
|
11
Al0rid4l 2023-05-11 14:10:45 +08:00
清理你自己页面所在域的当然可以, 但如果你想要清整个浏览器的那会跨域, 毕竟不能让你一个按钮就把其他网站购物车都给清了
|
12
helee9199 OP |
13
knva 2023-05-11 14:51:06 +08:00
alert("清理成功矣")
|
14
bzw875 2023-05-11 15:05:43 +08:00
可以给用户开一个安慰剂,酷炫的动画然后弹出清空完成。但是浏览器不允许范围隐私数据
|
15
shyangs 2023-05-11 15:17:42 +08:00
什麼鬼安慰劑,樓主肯定遇到了快取和新資料不一致的問題。
就像之前 V2EX 的翻頁報 502 ,https://www.v2ex.com/t/938867 不想治本的情況,安慰劑還不如治標方案——清 cookie 和清緩存。 |
17
opengps 2023-05-11 15:24:19 +08:00
你自己写个程序,后台定期执行就行了,不用期待什么人为操作
|
18
pipaseqin 2023-05-11 15:37:38 +08:00
左上角设置一块区域连续点击 n 次,出现清理按钮,点击或多少秒不点击则隐藏
|
19
helee9199 OP @shyangs 是啊 就这个意思,但是 user 又不会装插件和到设置里去清
所以我想有什么办法 能达到清理 cookie 和缓存的效果。 |
20
TArysiyehua 2023-05-11 16:29:49 +08:00
@helee9199 你自己代码不能主动清空 cookie 和缓存吗?感觉无压力呀
|
21
krixaar 2023-05-11 16:42:38 +08:00
流程截图放 word 里搞个手册,一个链接放上去就行了。最后加上 IE 怎么重置浏览器的流程,和其他浏览器卸载重装一句话。
不会操作?找个会的过来按手册就行了。 |
22
cydian 2023-05-11 17:05:15 +08:00 via Android
长见识了,第一次看到这个 headers
|
23
qping 2023-05-11 17:10:11 +08:00
为什么你们要清缓存,不能代码层面解决下缓存问题吗?
|
24
helee9199 OP @qping 有些谜之 bug 发版后 A 机器访问 OK ,B 机器访问有问题,让他们清理缓存试试, 清理以后又好了。。。
|
25
qping 2023-05-11 17:16:17 +08:00
那还是浏览器缓存问题,还是应该在代码层面解决,所有文件都加上版本号
|
26
darkengine 2023-05-11 17:33:21 +08:00
老年人知道缓存是什么吗。。。应该加一个按钮叫“一键解决问题” /doge
|
27
cyningxu 2023-05-11 17:44:50 +08:00
看了一下,楼主的意思是清文件 cache 和 cookie ?我理解文件 cache 的话不就是加版本号吗? cookie 的话更简单了,所以这个问题是?
|
28
LavaC 2023-05-11 19:26:37 +08:00
遇到过这种情况,给甲方做好了页面,她的电脑访问一直是旧的就以为我们在糊弄她,我们喊了两天 Ctrl+F5 ,也不知道是她没按还是按错了,反正就没刷新到,最后开始开远程帮她按了快捷键。
|
29
paradoxs 2023-05-11 19:36:51 +08:00
有 1 说 1 , 让客户清缓存这个做法绝对是不对的。
自己加版本号吧 |
30
BUHeF254Lpd1MH06 2023-05-11 19:44:09 +08:00
@gongxuanzhang 一看你就没写过真的,我刚入行的时候写 APP ,老板让我加个清除缓存,那时候刚毕业我都不知道该缓存啥还清除缓存,我就写了一个类似的,不过加了一个定时器 loading 一秒哈哈
|
31
Ritr 2023-05-11 21:19:02 +08:00
alert("清除成功“);
|
32
zhaokun 2023-05-12 08:19:08 +08:00 via iPhone
先搞清楚是什么缓存,如果是前端自己写的缓存那不按钮随便写吗?
|
33
fiveStarLaoliang 2023-05-12 10:58:13 +08:00
private clearCache() {
// 清除所有数据 fetch('/', { cache: 'no-cache' }) fetch('/', { cache: 'reload' }) window.location.reload() } |
34
fiveStarLaoliang 2023-05-12 13:01:34 +08:00
刚研究了下,代码没作用,再研究研究
|
35
fiveStarLaoliang 2023-05-12 15:35:29 +08:00
我试了下这个办法可以重新加载页面
private clearCache() { // 清除缓存 if (window.location.href.indexOf('v=') < 0) { window.location.href = `/?v=${new Date().getTime()}` } else { window.location.href = window.location.href.replace(/v=\d+/, 'v=' + new Date().getTime()) } } |
36
helee9199 OP |