当前位置: 首页 > 面试题库 >

禁用某些图像的缓存

白丁雨
2023-03-14
问题内容

我使用PHP库生成一些图像。

有时浏览器不会加载新生成的文件。

如何仅为我动态创建的图像禁用缓存?

注意:随着时间的推移,我必须对创建的图像使用相同的名称。


问题答案:

对于这个问题,一种常见而简单的解决方案是给每个对动态图像的请求添加一个随机生成的查询字符串,这种解决方案看起来很像黑客,但移植性很强。

因此,例如-

<img src="image.png" />

会成为

<img src="image.png?dummy=8484744" />

要么

<img src="image.png?dummy=371662" />

从Web服务器的角度来看,可以访问同一文件,但是从浏览器的角度来看,不能执行缓存。

随机数的生成可以在服务页面时在服务器上发生(只需确保页面本身未缓存…),或者在客户端上发生(使用JavaScript)。

您将需要验证您的Web服务器是否可以应对这一技巧。



 类似资料:
  • 我有一个简单的LineChart,按下按钮就会在一个新窗口中打开。此LineChart使用存储在硬盘上的图像作为背景。如果关闭提示LineChart的窗口,更改(或删除)图像文件并重新打开窗口,则会再次加载旧图像。我在场景构建器和代码中禁用了LineChart的缓存,但这没有帮助。 下面是我用于测试的LineChart-Controller的一个简单代码片段: 谢了! ----更新----目前我使

  • 我尝试了以下示例:从Express.js中删除所有头,在Express node.js中禁用etag头,以及https://github.com/expressjs/Express/issues/2472,但不幸的是,它们没有解决我的问题。在Firefox、Opera和Chrome中,当开发者工具打开并禁用缓存时,或者当我在浏览器上线后第一次启动应用程序时,我的应用程序都能正常工作。我知道这与缓存

  • 对于给定的多色PNG(带透明度),最好的/快速的惯用方式是什么: 创建一个重复的 关于SO有几个相关的问题,但是我还没有找到有效的方法。

  • 问题内容: 我正在使用ngAnimate模块,但是所有我的,等等都受此影响,我想对某些选定的元素利用ngAnimate。为了提高性能以及某些元素的显示和隐藏速度非常快的错误。 谢谢。 问题答案: 只需将其添加到您的CSS中即可。最好是最后一条规则: 然后将其添加到要禁用的元素类中。例:

  • 我想禁用一个场景的当前日期和其他场景的未来日期时,是否可以禁用日期。我应该如何禁用日期?

  • 我有一个,其中有8个项目,我想显示其中的所有项目,但在特定条件下,用户只能选择前两个项目,因此我编写了程序,如果条件为真,用户选择任何其他选项,则会显示一个消息框,显示然后自动选择默认值。到现在为止,一直都还不错。 但现在的问题是,用户无法通过查看的选项来判断他可以选择哪些选项,因此我想做的是,如果条件为真,那么除前两个选项之外的所有选项都应该被禁用(或灰显或其他),这样用户就可以判断出您无法选择