我已经放弃了,但出于好奇,我想我会在这里发帖。
我所说的“硬刷新”是您在开发过程中为查看更改而执行的操作Ctrl+R。Shift+F5
这会导致浏览器向Cache-Control: max-age=0
请求和“子”请求(如图像和脚本等)添加标头。
如果你在做你的工作,304
除了改变的资源之外,你会得到一切。(好吧,好吧,看看评论。这是假设其他验证器是基于浏览器缓存发送的。)
到目前为止,一切都很好。
问题是我不是直接从页面加载脚本,而是通过 a 加载脚本load.js
,并且浏览器对于它们是否Cache-Control
在这些请求中包含该标头不一致。Chrome 根本不这样做,而 Firefox 似乎停在了一个系列的中间。
由于我无法访问当前请求的标头,因此无法知道是否应包含该标头。
结果是,当我更改脚本(除了load.js
)时,硬刷新无法可靠地工作,并且我必须例如清除浏览器缓存(这有点笨拙)。
对此有什么想法吗?