介绍
在网站上应用,渐进增强往往是最优选择,尽可能给用户最好性能,同时在可行范围内提高交互体验。
为什么日期不走
如果您在网站上使用 Date.now() 或 new Date() 获取当前时间,并希望在不同的时间段内跟踪用户活动,您可能会发现日期似乎从不改变。
浏览器缓存
这个问题很可能是由于浏览器缓存导致的。浏览器会为了减少重复请求,缓存来自服务端的静态资源。
为了在不同时间段获取正确的日期和时间,网站可以使用 HTTP 缓存头在响应中禁用缓存。请注意,这可能会增加网络流量。
代码示例
// 添加 HTTP 缓存头
res.setHeader('Cache-Control', 'no-store');
res.setHeader('Expires', '0');
总结
在电脑或者手机浏览器上,开发人员应该非常清楚浏览器的缓存机制,避免一些奇怪的问题。
在处理日期和时间相关情况时,除了注意时区、标准化时间格式之外,还要避免受到浏览器缓存的影响。禁用浏览器缓存的方法如上。