说我有:
<iframe src="" style="display:none;"></iframe>
http://www.example.com/file.pdf
iframe.src = pdfurl
我找到了一种检测 PDF 是否已加载到 iFrame 中的方法:在
iframe.contentDocument.contentType
触发后读取 onload
,但是
onload
不会触发谢谢:)
要告诉客户端浏览器将响应下载为文件,请将响应中的 Content-Disposition HTTP 标头设置为“附件”。这并不能保证,但这是告诉浏览器如何处理内容的正确方法。
§ 8.9.1.6 PDF 查看支持
window.navigator.pdfViewerEnabled
如果用户代理支持 PDF 文件的内联查看,则返回
导航到它们,或者true
否则。在后一种情况下,PDF 文件 将由外部软件处理。false
在现代浏览器中,JavaScript的全局Navigator对象有一个plugins属性,其中填充了一组插件,如果您可以找到Mimetype application/pdf的插件,您可以放心地假设浏览器将内联显示pdf文件,只要当然,服务器不会显式发送内容处置:附件标头。