Öffnen eines neuen Tabs zum Lesen einer PDF-Datei

Lesezeit: 6 Minuten

Benutzer-Avatar
MultiWizard

Ich vermisse hier wahrscheinlich etwas Einfaches, aber ich werde trotzdem fragen. Ich habe einen Link zum Öffnen einer PDF-Datei erstellt, sie wird jedoch im aktuellen Tab und nicht in einem neuen geöffnet. Welchen Code soll ich in HTML verwenden, um eine neue Registerkarte zum Lesen der PDF-Datei zu öffnen.

<div class="footer_box_content">
    <div class="cleaner_h10"></div>
    <p>Many  thanks  to  everyone  who cleared snow and ice during the cold spell in February.
    Should Arctic conditions return, each block has a shovel and a jar of rock salt  to  clear  the  steps. 
    Please click more to read the full newsletter.</p>
    <div class="button_01"><a href="https://stackoverflow.com/questions/16925481/newsletter_01.pdf">Read more</a></div>
</div>

<a href="https://stackoverflow.com/questions/16925481/newsletter_01.pdf" target="_blank">Read more</a>

Target _blank zwingt den Browser, es in einem neuen Fenster zu öffnen

  • Nö. Wenn der Benutzer seinen Browser so eingestellt hat, dass er etwas anderes mit PDF-Dateien macht (z. B. sie herunterlädt), wird er nicht in einem neuen Tab geöffnet. Es kann nicht garantiert werden, dass eine PDF-Datei in einem neuen Browserfenster geöffnet wird.

    – Chuck Le Butt

    12. Juni 2016 um 21:33 Uhr

  • @ChuckLeButt Wo habe ich angegeben, dass die Seite garantiert in einem neuen Fenster geöffnet wird?

    – Chris

    1. Februar 2017 um 11:38 Uhr


  • Zitieren: Target _blank will force the browser to open it in a new window. Das stimmt einfach nicht. Sie können einen Browser nicht zwingen, ein PDF zu öffnen. Es kann je nach Benutzereinstellung einfach heruntergeladen werden, auch wenn das Zielattribut auf “_blank” gesetzt ist. Siehe meine Antwort unten.

    – Chuck Le Butt

    1. Februar 2017 um 15:49 Uhr


  • Force != garantiert 🙂

    – Chris

    18. Januar 2019 um 16:21 Uhr

  • Es gibt keine Möglichkeit, einen Browser zu zwingen, eine PDF-Datei in einem neuen Fenster zu öffnen.

    – Chuck Le Butt

    20. Januar 2019 um 12:18 Uhr

Benutzer-Avatar
Chuck Le Butt

Wie alle anderen darauf hingewiesen haben, dies kann Arbeit:

<a href="https://stackoverflow.com/questions/16925481/newsletter_01.pdf" target="_blank">Read more</a> 

Aber worauf niemand hingewiesen hat, ist das Es ist nicht garantiert, dass es funktioniert.

Es gibt keine Möglichkeit, den Browser eines Benutzers zu zwingen, eine PDF-Datei in einem neuen Tab zu öffnen. Abhängig von den Browsereinstellungen des Benutzers sogar mit target="_blank" Der Browser kann wie folgt reagieren:

  1. Bitten Sie um Handlung
  2. Öffnen Sie es in Adobe Acrobat
  3. Laden Sie die Datei einfach direkt auf ihren Computer herunter

Schauen Sie sich zum Beispiel die Einstellungen von Firefox an:

Geben Sie hier die Bildbeschreibung ein

Chrome hat eine ähnliche Einstellung:

Geben Sie hier die Bildbeschreibung ein

Wenn der Benutzer in seinen Browsereinstellungen „Datei speichern“ ausgewählt hat, wenn er auf eine PDF stößt, gibt es keine Möglichkeit, dies zu überschreiben.

  • Können wir das zumindest erkennen und Fallback verwenden?

    – Parthiban Rajendran

    9. Dezember 2018 um 2:10 Uhr

  • @ParthibanRajendran Nein. Sie können die Einstellungen des Benutzers nicht erkennen, aber selbst wenn dies der Fall wäre, könnten Sie seine Einstellungen immer noch nicht überschreiben.

    – Chuck Le Butt

    18. Januar 2019 um 14:57 Uhr


Sie müssen das Zielattribut verwenden

<a href="https://stackoverflow.com/questions/16925481/newsletter_01.pdf" target="_blank">

  • Minus eins. Entschuldigung, dies ist kein Forum. Schlagen Sie vor, diesen Beitrag zu entfernen und die vorhandene Antwort mit dieser Lösung zu verbessern.

    – Benutzer66001

    1. Mai 2021 um 15:53 ​​Uhr

  • @ user66001 Könnten Sie bitte die unterschiedliche Postzeit zwischen den beiden Posts berücksichtigen? Sie werden wie in derselben Minute gepostet.

    – Nick

    3. Mai 2021 um 1:01 Uhr

  • Ich kann mich nicht erinnern, erwähnt zu haben, dass dieser Beitrag nie hätte existieren sollen, gerade jetzt gibt es ein Duplikat mit einem, das etwas mehr Inhalt, mehr Kommentare dazu, in denen die Lösung diskutiert wird, und weitaus mehr Upvotes hat (was bedeutet, dass es wahrscheinlich sein wird die einzige, die ein Teil der Besucher dieser Seite sehen wird, daher sind die restlichen Antworten, insbesondere Duplikate, nur Lärm) sollte bevorzugt werden, dass die andere existiert.

    – Benutzer66001

    3. Mai 2021 um 4:17 Uhr

Benutz einfach target auf deinem Etikett <a>

<a href="https://stackoverflow.com/questions/16925481/newsletter_01.pdf" target="_blank">Read more</a>

Das Zielattribut gibt an, wo der Link geöffnet werden soll. Die Verwendung von “_blank” veranlasst Ihren Browser, ein neues Fenster/eine neue Registerkarte zu öffnen.

Sie können das Ziel auch auf viele Arten verwenden. Sehen http://www.w3schools.com/tags/att_a_target.asp

Eine Beobachtung, _blank allein stellt nicht sicher, dass die Datei in einem neuen Tab geöffnet wird. Der Antwortheader für die Dateianforderung sollte haben Content-Type : application/pdf.

Versuche dies Verknüpfungwird die Datei in einem neuen Tab geöffnet, da der Server die erforderlichen Header bereitstellt.

Gleiches gilt auch für andere Dateitypen. Zum Beispiel: Die Anforderung zum Abrufen von Videodateien sollte ordnungsgemäß sein Content-Type wie video/mp4.

  • Das hat mir geholfen, ich hatte einen Antwortheader als kommen Content-Type: application/octet-stream die das PDF automatisch herunterlud, das ich nicht wollte. Content-Type : application/pdf ist das, was ich brauchte.

    – faruk13

    23. November 2021 um 7:43 Uhr

  • “Versuchen Sie diesen Link, es wird die Datei in einem neuen Tab öffnen” … Nicht für mich in FireFox. Es wird immer noch im selben Tab geöffnet.

    – staubiger Müll

    12. Januar um 14:39 Uhr

  • Dieser ‘Link’ öffnet sich für mich nicht in einem Tab; Wie wenden Sie den Content-Type auf diesen HTML-Inhalt an?

    – J-Dizzle

    24. Januar um 17:24 Uhr

  • Jede von einem Server bereitgestellte Datei hat einen Content-Type-Header. Es wird entweder manuell nach Bedarf oder als abgeleiteter Formulardateityp festgelegt. Und der Link öffnet sich nicht in allen Browsern in einem neuen Tab. Ich gehe davon aus, dass es browserspezifische Einstellungen für Dateitypen gibt. In Chrome Desktop wird es tatsächlich in einem neuen Tab geöffnet.

    – JUWEL JAKOB

    26. Januar um 8:33 Uhr

Benutzer-Avatar
gkalpak

Ändere das <a> so taggen:

<a href="https://stackoverflow.com/questions/16925481/newsletter_01.pdf" target="_blank">

Sie finden mehr über die target Attribut hier.

  • Das hat mir geholfen, ich hatte einen Antwortheader als kommen Content-Type: application/octet-stream die das PDF automatisch herunterlud, das ich nicht wollte. Content-Type : application/pdf ist das, was ich brauchte.

    – faruk13

    23. November 2021 um 7:43 Uhr

  • “Versuchen Sie diesen Link, es wird die Datei in einem neuen Tab öffnen” … Nicht für mich in FireFox. Es wird immer noch im selben Tab geöffnet.

    – staubiger Müll

    12. Januar um 14:39 Uhr

  • Dieser ‘Link’ öffnet sich für mich nicht in einem Tab; Wie wenden Sie den Content-Type auf diesen HTML-Inhalt an?

    – J-Dizzle

    24. Januar um 17:24 Uhr

  • Jede von einem Server bereitgestellte Datei hat einen Content-Type-Header. Es wird entweder manuell nach Bedarf oder als abgeleiteter Formulardateityp festgelegt. Und der Link öffnet sich nicht in allen Browsern in einem neuen Tab. Ich gehe davon aus, dass es browserspezifische Einstellungen für Dateitypen gibt. In Chrome Desktop wird es tatsächlich in einem neuen Tab geöffnet.

    – JUWEL JAKOB

    26. Januar um 8:33 Uhr

Benutzer-Avatar
SchnellerSechster

Auf Chrome hat sich das für mich bewährt.

<a href="https://stackoverflow.com/questions/16925481/newsletter_01.pdf" target="_new">Read more</a>

1019240cookie-checkÖffnen eines neuen Tabs zum Lesen einer PDF-Datei

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy