javascript - 从 iframe 访问父窗口缓存

标签 javascript caching iframe

我有一个包含大约 20 张图像的轮播。加载所有图像后,应将它们缓存,然后在 iframe 中再次加载。浏览器显示图像已缓存。

问题是 iframe 中的相同图像 URL 再次下载它们,而不是从缓存加载。 有没有办法从缓存加载这些图像?

最佳答案

浏览器的缓存不是特定于窗口的。

如果您的图片被重新请求,那是因为以下情况之一是正确的:

  1. (不太可能) URL 不同(即使您的服务器最终返回相同的图像),或者
  2. (可能) 与图像一起发送回的缓存 header 等告诉浏览器不要缓存它们,或者
  3. 浏览器决定不缓存它们,即使出于某种原因允许(例如,其缓存启发式表示“不缓存这些”)。

要解决此问题,请确保图像的 URL 计算为相同的完整 URL(它们可能已经这样做,但请仔细检查),并且服务器发送回足够的缓存信息以允许浏览器缓存图像。

关于javascript - 从 iframe 访问父窗口缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51261248/

相关文章:

javascript - 如何使用 ExtJs 将 Form 放入 TabPanel 中?

caching - 估计并发 Azure Appfabric 缓存连接

asp.net - System.Web.Caching 是否使用 LRU 算法?

javascript - 在新窗口中打开 iframe 中的链接

django - 升级到 Django 3.2 LTS 后 iframe 停止工作

javascript - 使用 TypeScript 2.0 导入 js 文件

PHP 绕过 jQuery 代码

css - IE8 网络字体 iframe 错误解决方法

javascript - 如何在 jQuery 中找到最近的 sibling

django - 在 django 中禁用 View 或 url 的缓存