使用pdf.js阻止idm自动下载PDF

use*_*810 20 javascript pdf iframe pdf.js

我正在使用PDF.Js嵌入PDF文件进行预览,我从中删除了下载和打开文件的脚本viewer.js,但是当我测试页面和PDF文件试图显示时,Internet Download Manager下载它并中止预览..搜索后我发现使用object而不是iframe可以解决问题,但它没有工作pdf查看器出现白色,我该怎么做才能防止自动下载?或使用其他方式(插件)来显示PDF文件内容.

<iframe 
  class="pdf" 
  webkitallowfullscreen="" 
  mozallowfullscreen="" 
  allowfullscreen="" 
  frameborder="no" 
  width="'.$width.'" 
  height="'.$height.'" 
  src="'.$baseurl.'/assets/pdf/web/viewer.html?file='.urlencode($pdf_url).'" 
  data-src="'.$pdf_url.'">
  '.$pdf_url.'
</iframe>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Pro*_*eek 15

这与开发问题无关,这与用户特定的环境有关.

问题 :

使用IDM,任何以媒体扩展名结尾的URL(例如*.JPG,*.PNG,*.MP4,*.WMV,*.PDF ..等)都将自动下载,但另一方面如果用户没有如果安装了IDM,将立即在浏览器窗口中查看该文件.

可能的解决方案 :

  1. 从IDM中删除PDF扩展程序处理程序,以防止自动下载,我认为该图像很好地解释了它.

IDM阻止处理文件类型

  1. 修改PDF链接的响应标题以强制浏览器在其视图中查看pdf,请考虑每个浏览器可能以不同方式处理响应,有关此方法的更多详细信息,请参见此处.

最后注意:

作为开发人员,您不应该处理每个特定于用户的环境,我们假设当用户安装特定应用程序来处理通用文件时,处理该应用程序而不是开发人员角色是他/她的角色,因为如果您遵循此算法跳入无限循环内处理不同用户的特定设置.


Ari*_*rif 6

只需.pdf从主文件中删除扩展名。IDM 无法检测它是什么类型的文件。但浏览器会处理它的原生方式。