【问题标题】:Object tag makes double pdf request对象标签发出双重 pdf 请求
【发布时间】:2010-12-07 14:26:01
【问题描述】:

嗨 谁能建议我现在需要查找的内容 firefox(Windows 上为 3.6.12)在使用对象标签而不是 iframe 时请求 pdf 两次

对象标签的 MIME 类型为“application/pdf”

我知道旧的 IE 在 mime 类型 application/pdf 使 IE 将请求移交给 adobe 插件时会出现这种情况,导致两个请求,但我没有看到 Fx 这样做。

我们正在尝试绕过 Fx 中的最新错误,该错误会在 PDF 的第二页上挂起浏览器。不,我们不能使用除 Adob​​e Acrobat Reader 7-9 之外的任何其他插件,不,我们不会从 pdf 更改为其他插件。

谢谢


更新:现在 IE 正在向我们抛出一个曲线球。它不喜欢在对象内部重定向到同一个域(但不是同一个子域),例如我们加载 a.server.com/pdffile.pdf 并重定向到 b.server.com/otherpdffile.pdf - 在 Fx 中可以正常工作,但在 IE 中不行 添加参数 src="urltopdf" 使它在 IE 中显示,但阻止它在 Fx 中工作。叹息!

【问题讨论】:

  • 您的对象标签是否在标签本身中指定了 MIME 类型?如果您不这样做,浏览器往往需要发出请求(通常是 HEAD)来查看它们应该加载的对象。
  • 是的,它确实有一个 mime 类型的 application/pdf

标签: firefox pdf acrobat


【解决方案1】:

我怀疑有问题的 PDF 是“启用网络的”,也就是“线性化的”...可能包括带有“第 2 页错误”的那些。

基本上,线性化的 PDF 在文件的开头有一堆“提示”,给出了各种相关位的字节偏移量,特别是显示第一页所需的字节范围(必须位于PDF)。

读取这些字节范围的请求可以分解为任意数量的 HTTP 请求(包括“一个”)。 iframe 和对象标签的行为不同并不是特别奇怪。在一种情况下,PDF 获得了自己的整个窗口,在另一种情况下,它必须与 HTML 内容共享:无论包装多么薄,它包装的。


或者,其中一个请求可能是 PDF 的开头而不是整个内容,再次与线性化 PDF 相关(尝试确定 PDF 是否被线性化,然后阅读整个内容)。


在上述任何一种情况下,这都是正常行为。 OTOH,如果它两次请求整个 PDF,那是一件坏事……很可能是 PDF 插件中的错误。

【讨论】:

  • 嗯嗯。如果没有看到有问题的 PDF/HTML,很难知道发生了什么。您能否为我们指出一个演示该问题的网站?
  • 不,恐怕还没有。它还没有上线,我们需要在它上线之前解决这个问题。我会尝试制作一个显示问题的页面,但我需要在我可以访问日志文件的网站上这样做。感谢您的参与
猜你喜欢
  • 2015-12-27
  • 2011-09-24
  • 1970-01-01
  • 1970-01-01
  • 2016-03-05
  • 2013-07-24
  • 2018-08-02
  • 2018-07-15
  • 1970-01-01
相关资源
最近更新 更多