问题标签 [image-caching]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
19 回答
235728 浏览

html - 如何强制网络浏览器不缓存图像

背景

我正在为两个公益网站编写和使用一个非常简单的基于 CGI (Perl) 的内容管理工具。它为网站管理员提供了用于填写字段(日期、地点、标题、描述、链接等)并保存的事件的 HTML 表单。在该表单上,我允许管理员上传与该事件相关的图像。在显示表单的 HTML 页面上,我还显示了上传图片的预览(HTML img 标记)。

问题

当管理员想要更改图片时,就会出现问题。他只需点击“浏览”按钮,选择一张新图片,然后按确定。这很好用。

上传图片后,我的后端 CGI 会处理上传并正确重新加载表单。

问题是显示的图像没有刷新。即使数据库拥有正确的图像,旧图像仍会显示。我已将其范围缩小到图像被缓存在网络浏览器中的事实。如果管理员在 Firefox/Explorer/Safari 中点击 RELOAD 按钮,一切都会正常刷新,新图像就会出现。

我的解决方案 - 不工作

我试图通过编写一个日期很远的 HTTP Expires 指令来控制缓存。

请记住,我在管理方面,我并不关心页面是否需要更长的时间来加载,因为它们总是过期的。

但是,这也不起作用。

笔记

上传图像时,其文件名不会保存在数据库中。它被重命名为Image.jpg(在使用它时简单地说明一下)。用新图像替换现有图像时,名称也不会改变。只是图像文件的内容发生了变化。

网络服务器由托管服务/ISP 提供。它使用 Apache。

问题

有没有办法强制网络浏览器不缓存此页面的内容,甚至不缓存图像?

我正在处理使用数据库实际“保存文件名”的选项。这样,如果图片改变了,IMG标签的src也会改变。但是,这需要整个站点进行大量更改,如果我有更好的解决方案,我宁愿不这样做。此外,如果上传的新图像具有相同的名称,这仍然不起作用(例如图像经过了一些照片处理并重新上传)。

0 投票
4 回答
65265 浏览

apache - 使用 Apache 缓存网站图像

如何让 Apache 上的静态内容{被浏览器缓存}而不是{检查新鲜度{每个请求}}?

我正在开发托管在 Apache 网络服务器上的网站。最近,我正在测试一些带有标题的东西(Content-Type 用于不同类型的内容),并看到了很多对图像的条件请求。例子:

虽然图像文件是静态内容并由浏览器缓存,但每次用户打开链接到它们的页面时,都会有条件地请求它们,并发送“304 Not Modified”。这很好(传输的数据更少),但这意味着每次页面加载都会增加 20 多个请求(由于所有这些往返行程,即使启用了 Keep-Alive 和流水线,页面加载时间也会更长)。

如何告诉浏览器保留现有文件而不检查更新版本?

编辑: mod_expires 方法有效,即使使用 favicon。

0 投票
2 回答
2088 浏览

css - CSS 图像缓存

在客户端图像缓存方面,以下之间是否存在差异:

编辑:我不确定它是否重要,但上面的 DIV 首先加载到另一个页面上, style="display:none;"

0 投票
14 回答
86313 浏览

html - 有没有办法强制浏览器刷新/下载图像?

我有一个问题,用户报告他们的图像没有被上传并且旧的图像仍然存在。仔细检查后,新图像就在那里,它们只是与旧图像具有相同的名称。我在上传时所做的是重命名图像以用于 SEO 目的。当他们删除图像时,旧索引变得可用并被重复使用。因此,它具有相同的图像名称。

有没有办法(我想可能有一个元标记)告诉浏览器不要使用它的cahce?

更好的答案是将图像重命名为全新的名称。我会着手解决这个问题,但与此同时,当我解决更大的问题时,这是一个快速的解决方案。

0 投票
6 回答
2639 浏览

css - IE7 不通过 SSL 缓存 CSS 图像

我正在使用 Internet Explorer 的WebDevHelper工具栏对我的SSL站点上的 HTTP 请求/往返进行故障排除,并注意到 IE每次触发时都会重新下载我的 CSS :hover 图像。这会导致大量的往返。

我怎样才能防止这种情况发生?

编辑: 所有静态内容都通过cache-control: public提供,因此图像、javascript 等都缓存在 Firefox 和 Chrome 中。这个问题是 IE 特有的。

0 投票
1 回答
516 浏览

iphone - NSTemproryDirectory 在哪里?

我正在做图像缓存,并将文件保存到临时目录 NSTemporaryDirectory。它在日志中显示为 /var/folders/.... 这东西在哪里。我目前正在模拟器中执行所有这些操作?

0 投票
5 回答
19184 浏览

ios - 缓存 URL 图片 iphone UITableview

我正在寻找有关如何将从 url 加载的图像缓存到 uitableview 的单元格中的教程。

我在这里找到了一个例子

http://www.ericd.net/2009/05/iphone-caching-images-in-memory.html#top

但是代码不完整。我是一个客观的新手,所以我发现很难填补缺失的部分。

0 投票
1 回答
4192 浏览

php - 在使用 imagecache_create_path 和 getimagesize 之前使用 Drupal imagecache 生成图像

我正在使用 imagecache_create_path() 和 getimagesize() 来获取 imagecache 生成的图像的路径及其尺寸。但是,如果这是我们第一次访问该图像尚不存在的页面,并且 imagecache_create_path 也不会生成它。

这是代码:

是否有任何 API 方法来获取路径并生成文件?换句话说,我可以从 PHP 生成图像(使用预设)而不在浏览器中显示它吗?

先感谢您

0 投票
2 回答
511 浏览

image - 如何正确缓存图像

我刚刚在 Firebug 上安装了 Google 的 Page Speed 插件,除了缓存之外,一切看起来都不错。我已经设置了标题来缓存我的 JS 和 CSS 文件,但它说图像没有被缓存。如何确保图像缓存 30 天?这些是静态图像,所以我不能像使用其他文件那样只用 PHP 添加标题。

0 投票
1 回答
72 浏览

jquery - 如何在 jQuery 中实现特殊事件?

我正在使用它plugin来替换 jQuery 的imgload事件,无论图像是否被缓存都会触发。

(最小)文档说要这样使用它:

所以,两个问题。一,我是否只是将插件链接到 jQuery 旁边的标题中?第二,是我的实现

相当于上面的一个(即我需要传递eload()函数吗?