在一个项目中,我修改了页面上某个元素,自己浏览器使用强制刷新一下,就可以看到效果。
但是用户他的浏览器我是无法操作到的,所以用户只能自动等浏览器缓存过期才能预览??
注意:是 html 文件修改,不是里面的css文件或者js文件修改。
有没有立马让用户看到效果的方法,这个方法不包括去告诉用户使用强刷和 url 中加随机参数。
1、因为我不可能让所有用户都强刷一遍,不现实
2、不想改变页面的请求链接,感觉不美观
可以像第12行那样,在JS引入时,后面加上当前时间戳,这样每次进到这个页面,被加载的JS一定是最新的。
<script>
document.write('<script src="js/time.js?v='+new Date().getTime()+'"><\/script>');
</script>
效果:
你修改的内容估计被用户浏览器缓存了吧。
试试对文件加时间戳或者改下文件名的方式。
1、不涉及工程化的项目,在具体文件比如html,js,css文件后添加时间标识例如:
index.html?v=20220621
<link rel="stylesheet" href="index.css?v=20220621">
<script src="index.js?v=20220621" type="text/javascript" charset="utf-8"></script>
2、工程化的项目构建工具中有自带更新文件的工具
3、借助第三方平台部署的项目需要管理员手动清除【或者设置定时清除】缓存操作
已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。
没有明白你的需求
已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。
其实有几种方案都可以,要看你的需求。
如果只是边 dev 边预览,那你只要把 dev-server 反代(局域网内甚至不需要反代)给其他用户即可。如果是教学、面试类需求,code with me 可以提供参考。其它需求,可以使用 WebSocket 传输数据,然后在前端得到数据后修改页面。