在javascript中如何检测浏览器是否显示或下载pdf?

Mat*_*ari 4 javascript

说我有

  • 包含iframe的网页:
  • 指向pdf文档的网址:http://www.example.com
  • 一些将执行iframe.src = pdfurl的javascript
  • 一个按钮,将触发这样的JavaScript

    • 如果浏览器要显示内嵌pdf,按钮会显示"查看pdf",点击后会显示iframe

    • 否则会说"下载pdf"

我找到了一种方法来检测pdf已经加载到iframe中:在onload触发后读取iframe.contentDocument.contentType,但是

  • 这将不允许我显示正确的按钮
  • 如果正在下载文件,则不会触发onload

谢谢 :)

Jef*_*ber 5

要告知客户端的浏览器将响应下载为文件,请在响应中将Content-Disposition HTTP标头设置为"附件".这不是保证,但这是告诉浏览器如何处理内容的正确方法.


Gum*_*mbo -1

您可以向该资源发送HEAD 请求并检查发回的内容Content-Type和值。Content-Disposition根据这些信息,您可以确定浏览器是否会显示或下载该资源。