【问题标题】:Cache external embed pdf with javascript or html使用 javascript 或 html 缓存外部嵌入 pdf
【发布时间】:2013-06-03 23:40:30
【问题描述】:

我嵌入了以下外部 pdf,如下所示。 pdf 显示正常,但是如何缓存 pdf 以便页面不会在每次访问页面时重新下载 pdf?我应该改用对象标签吗?

<embed src="http://samplepdf.com/sample.pdf#toolbar=0&navpanes=0&scrollbar=0" width="500" height="375">

【问题讨论】:

  • 为什么不使用 php 文件,然后发送额外的标头告诉浏览器缓存文件?然后使用 php 提供 pdf 文件。浏览器会将文件视为 pdf,但会设置缓存规则。
  • 我使用的是 django,而不是 php。由于我不会进入的原因,我还必须在客户端获取图像。有什么方法可以让客户端下载图片吗?
  • django 或 php -> 相同的进程。缓存不是通过客户端编码而是从服务器端完成的。正确的标题可以很好地完成工作。
  • 所以如果我理解正确,我必须让外部服务器添加标题?如果您在谈论我的服务器添加标头,这是不可能的,因为我必须得到前面提到的图像客户端。
  • "获取图片客户端?"如果图像已经在客户端,什么时候需要缓存。我会完整回答您的问题,以便更好地解释。

标签: javascript html object pdf embed


【解决方案1】:

据我了解,您的服务器上有一个 pdf,您希望将其缓存到客户端,以便每次用户刷新页面时都不会重新下载该 pdf。

通过发送正确的标头,您可以强制执行缓存规则(或者至少尝试强制执行它们,因为任何浏览器都可以推翻您的规则)。

Php 或者在你的情况下,Django,可以发送适当的标题来告诉浏览器缓存这个 pdf。我的建议是您将在嵌入标签链接中提供的链接直接链接到脚本而不是 pdf。这个 django 脚本将发送 2 组标头。一个告诉浏览器缓存此内容,另一个告诉浏览器它正在发送 PDF 文件。这确保了 pdf 被缓存。当您加载网页时,典型标题的范围不包括所有外部文件/pdf。因为每个都是单独的请求。

我规定的方法比简单地嵌入 pdf 增加了额外的工作,但它应该可以完成工作。

【讨论】:

  • 额外 - 您不能强制客户端“下载”您的图像。要求浏览器缓存它是唯一的方法。 PDF 文件也不总是被缓存。祝你好运。在这些情况下,Google 可以成为您的朋友。
  • 感谢您的努力,但您误读了我的问题。 pdf不在我的服务器上。 pdf 位于外部服务器上。客户端通过在 标记中插入 url 来下载 pdf。我的服务器没有参与,我不希望它参与。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-19
  • 2010-11-19
  • 2016-04-14
  • 2017-12-14
  • 2023-04-08
  • 2016-08-16
  • 2014-04-15
相关资源
最近更新 更多