Если вы имеете в виду «загрузить» как «сохранить на диске», просто используйте HTMLAnchorElement и его атрибут download
.
Или даже обрабатывайте все крайние случаи (старые причуды IE и Safari) с легким весом FileSaver скрипт.
var blob = new Blob(["I'm just a text file..."], {type: 'plain/text'});
saveAs(blob, 'myFile.txt');
<script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/2014-11-29/FileSaver.js"></script>
Обратите внимание, что это верно для любых случаев.iframe hack - это просто плохой взлом, который следует использовать только тогда, когда определено, что никакие другие более эффективные способы не будут работать.
Теперь, чтобы объяснить, почему он не работает, это потому, что браузеры действительно могут отображатьPDF-файлы, и, таким образом, он [попытается] сделать это вместо принудительной загрузки.
<iframe src="https://cdn.jsdelivr.net/gh/mozilla/pdf.js/test/pdfs/S2.pdf"></iframe>
(Обратите внимание, что в текущем Chrome, похоже, есть ошибка, которая приводит к сбою чтения PDF-файлов при вложенных фреймах, поэтому здесь - ссылка на плункер, где вы можете увидеть его вживую в этом браузере, нажав кнопку расширения на правой панели.