首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在javascript中,如何检测浏览器是否会显示或下载pdf?

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

Stack Overflow用户
提问于 2009-05-18 12:01:38
回答 4查看 3.7K关注 0票数 8

说我有:

  • 带有iframe的网页:<iframe src="" style="display:none;"></iframe>
  • 指向PDF文档的URL:http://www.example.com
  • 一些将执行iframe.src = pdfurl的javascript
  • 将触发此类javascript的按钮。
  • 如果浏览器将显示PDF内联,则按钮将显示“查看pdf”,单击后会使iframe可见。
  • 否则它会说“下载pdf”。

我找到了一种检测pdf是否已加载到iframe中的方法:在iframe.contentDocument.contentType启动后读取onload,但是

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

谢谢:)

EN

回答 4

Stack Overflow用户

发布于 2009-05-18 12:19:18

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

票数 5
EN

Stack Overflow用户

发布于 2021-11-17 16:58:39

在现代浏览器中,JavaScripts全局导航器对象具有一个插件属性,其中填充了一个插件数组,如果您可以为Mimetype application/pdf找到一个插件,那么您可以安全地假设浏览器将内联显示pdf文件,只要服务器不显式发送内容配置:附件标题。

票数 1
EN

Stack Overflow用户

发布于 2022-07-09 17:30:50

§8.9.1.6 PDF查看支持 window.navigator.pdfViewerEnabled 如果用户代理在导航到PDF文件时支持内联查看PDF文件,则返回true,否则返回false。在后一种情况下,PDF文件将由外部软件处理。

MDN网络文档文章

浏览器兼容性表

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/877379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档