Das downloadHTML-Attribut

Das downloadHTML-Attribut

Ich versuche, eine PDF-Datei anzuzeigen, die ich online gefunden habe.

Wenn ich versuche, eine PDF-Datei zu öffnen, zeigt Firefox sie normalerweise in seinem Standard-PDF-Viewer an (ich glaube, er heißt pdfjs). Das ist ein gutes und normales Verhalten.

Jedoch...
bei dieser speziellen PDF-Datei, die ich online gefunden habe, klicke ich auf den Link zu ihrem Speicherort und Firefox öffnet den Download-Dialog. Er beschreibt die Datei als „Binärdatei“, obwohl es sich um eine PDF-Datei handelt, die ich herunterladen und nativ anzeigen kann.

Ich gehe davon aus, dass der Webserver "nicht sagen" Firefox, dass diese PDF-Datei tatsächlich eine PDF-Datei ist. Firefox kann also nur davon ausgehen, dass es sich um eine „Binärdatei“ handelt.

          Dies veranlasste mich, mir folgende Frage zu stellen …

Wenn ich dieses Ärgernis noch einmal erleben sollte, kann ich dann, anstatt die Datei herunterzuladen,GewaltFirefox, um eine Datei (online oder anderweitig) in seinem Standard-PDF-Viewer zu öffnen?

Lösungsversuche:

  1. Ich habe versucht, die Antwort vonWie rufe ich den in Firefox integrierten PDF-Viewer (pdf.js) manuell auf?, aber ohne Erfolg. Firefox versucht einfach, die „Binärdatei“ herunterzuladen.
  2. Ich habe view-source:am Anfang des Speicherorts des PDFs (also view-source:https://www.website.com/pdf.pdf) hinzugefügt, und bekomme nur den unverarbeiteten ASCII-Text der PDF-Datei angezeigt.

PS: Ich verwende Firefox 48.0.2 ...
Ja, er ist alt …


Wie gewünscht:

Screenshot der Antwort- und Anforderungsheader

Antwort1

Es gibt mehrere Möglichkeiten, wie Websites Ihren Browser zwingen können, eine Datei herunterzuladen, anstatt sie direkt zu öffnen:

Das downloadHTML-Attribut

Dieses Attribut eines anchorTags versucht, Ihren Browser zum Herunterladen der Datei zu zwingen, anstatt sie wie gewohnt zu verarbeiten.

Dies wird im Allgemeinen verwendet, wenn Sie einen automatisch generierten Dokumentnamen verwenden und ihn dem Benutzer ansprechend präsentieren müssen.

Verwendung:<a href="http://www.website.com/path/to/YourDocument.pdf" download="YourDocument.pdf">...

Ich habe noch keine Möglichkeit gefunden, dies zu umgehen, aber da die wahre Ursache Ihres Problems weiter unten liegt, habe ich es nicht vollständig untersucht ...

HTTP-Header

Content-Disposition

Ein Webserver kann auf eine Anforderung eines Dokuments mit dem Content-DispositionHeader antworten, um zu beschreiben, wie der Browser die Datei empfangen soll.

Content-Disposition: Attachmentteilt dem Browser mit, dass er die Datei herunterladen soll, statt sie wie gewohnt zu verarbeiten.

Content-Disposition: Inlineteilt dem Browser mit, dass es innerhalb der Webseite oder als Webseite angezeigt werden kann.

Hier ist ein Firefox-Add-on, das Header übernimmt Attachmentund durch Header ersetzt Inline:

https://addons.mozilla.org/en-US/firefox/addon/bypass-forced-download/

Technisch gesehen fängt es Content-Disposition: attachmentHeader ab und schreibt sie im laufenden Betrieb in um Content-Disposition: inline. Außerdem können Sie Websites angeben, die diese Umschreibung verwenden sollen und die nicht.

Wie bei den meisten Add-Ons kann die Laufleistung variieren.

Content-Type

Ein Webserver kann auf eine Anforderung eines Dokuments mit einem Content-TypeHeader antworten, der den Typ des Dokuments beschreibt, das er an den Browser zurückgibt.

Content-Type: application/octet-streamist als „beliebige Binärdaten“ definiert und grundsätzlich nur als Datei herunterladbar, der Browser weiß sonst nichts damit anzufangen.

Dies wird angezeigt, wenn Ihr Browser die PDF-Datei anfordert, die Sie anzeigen möchten.

Content-Type: application/pdfist das, was Sie wahrscheinlich benötigen, wenn Sie diese Datei in Ihrem Browser anzeigen möchten oder wenn Sie zumindest möchten, dass Firefox versteht, um welche Datei es sich handelt und wie sie richtig verarbeitet wird.

Hier ist ein Firefox-Add-on, das so eingestellt werden kann, dass es auf Content-TypeHeader lauscht und diese basierend auf ihrem Inhalt umschreibt.

Notiz: Das Ändern der Handhabung von MIME-Typen durch Ihren Browser kann gefährlich sein.

https://addons.mozilla.org/en-US/firefox/addon/content-type-fixer/

Auch hier gilt, dass dieses Add-on möglicherweise nicht in allen Fällen funktioniert.

verwandte Informationen