【问题标题】:How to prevent browser (firefox) from downloading embed src each time it shows?如何防止浏览器(firefox)每次显示时都下载embed src?
【发布时间】:2012-12-14 09:45:29
【问题描述】:

我在我的滑块中嵌入了标签来显示 Flash 动画。浏览器每次显示时都会下载 swf 文件(src 属性不会改变)。此滑块中的图像仅被获取一次,而每次都嵌入对象。

你知道如何停止下载吗?

【问题讨论】:

  • 您应该检查下载 SWF 时返回的 HTTP 标头。它可能将缓存标头(缓存控制)设置为“无缓存”。

标签: jquery flash embed show


【解决方案1】:

这可能取决于下载 SWF 文件时从服务器返回的 Cache-Control HTTP 标头。如果标头如下:Cache-Control:max-age=900,表示资源将在浏览器中缓存 900 秒。如果标头为Cache-Control:max-age=0,则表示没有缓存,每次请求页面时都会下载资源。

您可以使用 Firefox Firebug 检查 Cache-Control 标头(来自 Adob​​e 网站的 SWF 请求示例)

编辑

如果您注意到Cache-Control 设置为max-age=0,那么您必须更改服务器上的配置。从浏览器的角度来看,您无能为力。您还应该看到为您的图像设置的 Cache-Control 标头;你可以比较它们的值。

【讨论】:

  • swf 文件已被缓存,并且正在从缓存中加载,但问题是每次我显示嵌入标签时对文件的请求。您可以 hide() 和 show() img 标签,并且每次显示元素时浏览器都不会下载图像文件。相反,每次滑块显示嵌入元素时,浏览器都会请求 src 文件。
  • 该请求将始终显示,即使从缓存中加载...查看更深入的内容以检查它是从哪里加载的。
  • Firebug 对这个请求怎么说?它有响应代码 200 还是说“来自缓存”?
  • 您能与所有请求共享 Firebug Net 选项卡吗?这将使我们更好地了解您的问题。
【解决方案2】:

除了 Tom 分享的内容之外,您还应该检查您查看的参数是否正确。

如果您可能正在查看获取请求,请确保它不是“未修改”:

如果是,那你不用担心,它来自缓存。

浏览器处理冗余请求并从缓存中加载它。

【讨论】:

    猜你喜欢
    • 2017-06-01
    • 2022-07-19
    • 1970-01-01
    • 1970-01-01
    • 2017-11-13
    • 2016-03-31
    • 2010-09-15
    • 1970-01-01
    • 2016-07-31
    相关资源
    最近更新 更多