<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript" src="gistfile1.js"></script>
</head>
<body>
<p id="divPDF">Can't see the PDF?</p>
</body>
<script type="text/javascript">
var info = getAcrobatInfo();
if (info.acrobat == false){
window.location = "empty.pdf";
} else {
document.getElementById("divPDF").innerHTML = "<object data='empty.pdf' type='application/pdf' width='100%' height='100%'><p class='helpContent'>Can't see the PDF? Try <a href='empty.pdf' download='empty.pdf'>downloading the file</a>. If you're still having trouble, <a href='/contactUs.jsp'>contact us</a> or email us directly at <a href='mailto:support@guitarinstructor.com'>support@guitarinstructor.com</a>.</p></object>";
}
</script>
</html>
这就是我正在做的事情。如果getAcrobatInfo为TRUE,则显示PDF。 如果getAcrobat返回FALSE,则自动下载PDF。
我认为这适用于window.location =&#34; PDF的网址&#34;,我的浏览器仍会尝试显示它。
我是否可以实施任何javascript或jQuery,如果用户的浏览器没有PDF阅读器插件,我可以强制自动下载?
答案 0 :(得分:0)
通常,您必须将Content-disposition
标头设置为attachment
,以鼓励浏览器下载文件而不是显示文件。如果您可以执行此操作,并且客户端插件检测有效,则可以根据要发送的处置方式编辑服务器端代码以使其具有不同的URL,并将其包含在object src
属性或{{1参数。
此外,在HTML5中,location.replace
标记有download
属性,可选文件名作为属性值。每个浏览器都不支持此功能。
<a>
请注意,一个非常常见的做法是使用一个带有小模糊的单个链接来通知用户如何下载文件(例如,使用鼠标右键)。