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

时间:2009-05-18 12:01:39

标签: javascript

说我有

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

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

    • 否则会说“下载pdf”

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

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

谢谢:)

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:-1)

您可以向该资源发送HEAD request,并检查正在发送的Content-TypeContent-Disposition值。根据这些信息,您可以确定浏览器是否显示或下载该资源。