Ist es in Ordnung, target=”_blank” in HTML5 zu verwenden?

Lesezeit: 9 Minuten

Benutzer-Avatar
Darryl Hein

Ich erinnere mich, irgendwo gelesen zu haben, dass es in HTML5 nicht mehr in Ordnung war, es zu verwenden target="_blank" in HTML5, aber ich kann es jetzt nicht finden.

Ist es in Ordnung, weiter zu verwenden target="_blank"?

Ich weiß, dass es im Allgemeinen als schlechte Idee angesehen wird, aber es ist der einfachste Weg, ein neues Fenster für etwas wie ein PDF zu öffnen, und Sie müssen sich auch nicht auf JavaScript verlassen.

  • Wenn Sie eine externe Website von Ihrer Website aus öffnen möchten, ist es meiner Meinung nach im Allgemeinen eine bessere Idee, ein neues Fenster zu öffnen (was heutzutage in den meisten Browsern wahrscheinlich eine neue Registerkarte ist).

    – Hobbes3

    10. Mai 2012 um 7:39 Uhr

  • @hobbes3, bitte hör auf, meine Navigation und meinen Verlauf durcheinander zu bringen. Ich bin derjenige, der surft, und ich entscheide, ob ein Link in einem neuen (mittlerer Mausklick) oder im selben (linker Mausklick) Tab geöffnet werden soll. Wenn ich auf eine Website stoße, die mich zwingt, ihrer „rechtmäßigen Best Practice“ zu folgen, die jeden Link in neuen Registerkarten öffnet, verlasse ich sie sofort und gerne.

    – Albireo

    24. Januar 2013 um 7:23 Uhr

  • @Albireo, es ist nur meine Meinung und einige beliebte Webdienste beinhalten auch die gleiche Idee. Wenn Sie beispielsweise in Google Mail auf einen Link in Ihrer E-Mail klicken, wird standardmäßig ein neues Fenster geöffnet.

    – Hobbes3

    2. Februar 2013 um 21:47 Uhr

  • @Albireo Sie gehen davon aus, dass der Benutzer immer so fortgeschritten und technisch versiert ist wie Sie.

    – Mike Campbell

    31. Januar 2014 um 14:13 Uhr

  • Es gibt einen Grund dafür target et al. existieren. Manchmal sind sie eine Notwendigkeit. Eine dynamisch generierte Seite mit Stateful JS, zum Beispiel, wo ein Iframe weniger wünschenswert ist als ein neuer Tab (zB Anzeigen einer PDF, wie das OP angibt). Oder wenn eine sichere Website (z. B. eine Bank) Sie zu einem externen Link weiterleitet, aber die Verwendung der Zurück-Schaltfläche aufgrund des Ablaufs von Inhalten nicht zulässt. Wie alle Dinge ist auch dieses HTML-Attribut keine “schlechte Idee”, aber es sollte mit Bedacht und Sorgfalt verwendet werden, wie bei jeder Bibliothek, Klasse, Funktion und Eigenschaft in der gesamten Programmierung.

    – s.co.tt

    19. Dezember 2014 um 17:10 Uhr


Benutzer-Avatar
Mike

Es sieht aus wie target="_blank" ist noch in Ordnung. Es wird als Schlüsselwort für den Browsing-Kontext in aufgeführt der neueste HTML5-Entwurf.

  • target="_blank" bewirkt, dass ein neues Fenster geöffnet wird jedes Mal der Benutzer klickt auf den Link. Sofern dies nicht wirklich das ist, was Sie möchten (und das ist selten der Fall), sollten Sie die Verwendung in Betracht ziehen target="somethingUnique" sodass der Benutzer auch bei mehrmaligem Anklicken des Links nur das eine Fenster öffnet. Es sorgt für eine viel schönere UX.

    – BanksySan

    2. August 2013 um 9:27 Uhr

  • @BanksySan: Ein Beispiel, wo ich das denke target="_blank" gut sind Sharing-Buttons.

    – Martin Thoma

    5. Januar 2014 um 14:11 Uhr

  • Wenn ich einen langen Artikel lese und es einen Verweis auf verwandte Informationen auf einer anderen Website (oder derselben Website) gibt. Ich möchte oft zwischen den beiden hin und her springen, ohne meinen Platz im ursprünglichen Artikel zu verlieren. target=”_blank” ist dafür perfekt. Die Seite zu verlassen und abwechselnd jede Seite neu zu laden (wobei ich oft meinen Platz auf beiden Seiten verliere), ist es nicht. Ja, ich weiß, dass ich mit der rechten Maustaste auf den Link klicken und ihn in einem neuen Tab öffnen kann, aber ich möchte das nicht, weil es meine Konzentration beeinträchtigen würde, und ich vermute, dass die Mehrheit der Webbenutzer nicht weiß, wie das geht.

    – BobRay

    20. Mai 2017 um 20:08 Uhr


  • Das Zielattribut hat viele Vorteile. Ich werde das nicht disqen. Die Popup-Werbetreibenden haben ihren Zweck zerstört, aber heute, da so viele Dienste neben dem Browsing-Erlebnis laufen, möchten viele Menschen den aktuellen Artikel oder Tab nicht verlassen, aber dennoch mit dem umfangreichen Download-PDF oder -Video interagieren. Stellen Sie mit _blank sicher, dass Sie den Benutzer einen leeren Tab füllen lassen – überschreiben Sie nicht den aktuell gefüllten Inhalt, wenn Sie viele Links auf derselben Sitzung/Site bereitstellen. Eindeutige Namen sind in einer Audio-Liste mit 90 Songs einfach chaotisch…. Viva la target, viva la _blank…

    – Jonas Lundmann

    6. Juni 2018 um 23:17 Uhr

Benutzer-Avatar
Graham

Es ist in Ordnung zu verwenden target="_blank"; Dies wurde in XHTML abgeschafft, da das Targeting neuer Fenster in den meisten Browsern immer die Popup-Warnung hervorruft. XHTML zeigt bei einer Validierung immer einen Fehler mit dem Zielattribut an.

HTML 5 brachte es zurück, weil wir es immer noch verwenden. Es ist unser Freund und wir können nicht loslassen.

Lass niemals los.

  • Was Sie behaupten, gilt nur für striktes HTML.

    – qwertzman

    17. Mai 2013 um 14:13 Uhr

  • Sowohl für XHTML als auch für HTML.

    – MEMark

    10. März 2014 um 16:05 Uhr

Benutzer-Avatar
charvey

Obwohl die target="_blank" ist akzeptabel in HTML5ich persönlich versuche, es nie zu verwenden (auch nicht zum Öffnen von PDFs in einem neuen Fenster).

HTML sollte definieren Sinn und Inhalt. Frag dich selbst, „Würden die Bedeutung des a Element ändern, wenn die target Attribute wurden entfernt?“ Wenn nicht, sollte der Code nicht in den HTML-Code eingefügt werden. (Eigentlich bin ich überrascht, dass das W3C es behalten hat … Ich schätze, sie können einfach nicht loslassen.)

Browser Verhaltenspeziell, Interaktionsverhalten mit dem Benutzer, sollte mit clientseitigen Skriptsprachen wie JavaScript implementiert werden. Da Sie möchten, dass sich der Browser auf eine bestimmte Weise verhält, dh ein neues Fenster öffnet, sollten Sie JS verwenden. Aber wie Sie bereits erwähnt haben, erfordert dieses Verhalten, dass sich der Browser auf JS verlässt. (Obwohl Ihre Website elegant heruntergestuft oder progressiv verbessert wird, oder Wasauchimmer, dann sollte es noch gehen. Die Benutzer mit deaktiviertem JS werden nicht viel verpassen.)

Davon abgesehen, keines davon ist die richtige Antwort. Irgendwo da draußen ist die Meinung, dass Wie sich ein Link öffnet, sollte letztlich der Endnutzer entscheiden. Nehmen Sie dieses Beispiel.

Du surfst auf Wikipedia und gerätst immer tiefer in ein Kaninchenloch. Sie stoßen beim Lesen auf einen Link.

Angenommen, Sie möchten die verlinkte Seite ganz schnell überfliegen, bevor Sie zurückkehren. Sie können es in einem neuen Tab öffnen und es dann schließen, wenn Sie fertig sind (weil das Drücken der Schaltfläche „Zurück“ und das Warten auf das Neuladen der Seite zu lange dauert). Oder was ist, wenn es interessant aussieht und Sie es für später speichern möchten? Vielleicht sollten Sie es stattdessen in einem neuen Hintergrund-Tab öffnen und die aktuelle Seite weiterlesen. Oder vielleicht beschließen Sie, dass Sie mit dem Lesen dieser Seite fertig sind, und folgen einfach dem Link im aktuellen Tab.

Der Punkt ist, dass Sie Ihren eigenen Workflow haben und möchten, dass sich Ihr Browser entsprechend verhält. Sie könnten ziemlich frustriert sein, wenn es diese Art von Entscheidungen für Sie treffen würde.

Davon abgesehen sollten Webentwickler absolut klarstellen, wohin ihre Links führen, auf welche Arten und/oder Formate von Quellen sie verweisen und was sie tun. QuickInfos können Ihr Freund sein (es sei denn, Sie verwenden ein Tablet oder Telefon; in diesem Fall geben Sie diese auf der mobilen Website an). Wir alle wissen, wie ätzend es ist, irgendwohin gebracht zu werden, wo wir es nicht erwartet haben, oder etwas geschehen zu lassen, das wir nicht beabsichtigt hatten.

Benutzer-Avatar
Homer

Es ist am einfachsten, ein neues Fenster für so etwas wie ein PDF zu öffnen

Es ist auch der einfachste Weg, Nicht-Windows-Benutzer zu ärgern. PDF lässt sich problemlos in Browsern auf anderen Plattformen öffnen. Das Öffnen eines neuen Fensters bringt auch den Navigationsverlauf durcheinander und verkompliziert die Angelegenheit auf kleineren Plattformen wie Smartphones.

Öffnen Sie KEINE neuen Fenster für Dinge wie PDF, nur weil ältere Windows-Versionen kaputt waren.

Benutzer-Avatar
Vamshi Krishna

Die meisten Webentwickler verwenden target="_blank" nur um Links in neuem Tab zu öffnen. Wenn du benutzt target="_blank" nur um Links in einem neuen Tab zu öffnen, dann ist es anfällig für einen Angreifer. Wenn Sie einen Link in einem neuen Tab öffnen ( target="_blank" ), kann die Seite, die in einer neuen Registerkarte geöffnet wird, auf die erste Registerkarte zugreifen und ihre Position mithilfe von ändern window.opener Eigentum.

Javascript-Code:

window.opener.location.replace(malicious URL)

Verhütung:

rel="nofollow noopener noreferrer"

Mehr zu den Attributwerten.

  • Ich bin mir nicht sicher, ob nofollow mit Sicherheit zu tun hat – es ist für Suchmaschinen-Bots.

    – Darryl Hein

    26. Juni 2017 um 3:18 Uhr

  • @DarrylHein noreferrer auch

    – Smart Manoj

    17. Oktober 2020 um 13:25 Uhr

  • Als Entwickler können Sie nicht erzwingen, dass Links in einem neuen Tab geöffnet werden. Sie sagen dem Browser immer und nur, dass er ein neues Fenster öffnen soll. Das ist ein großer Unterschied, auch wenn Browser (mit oder ohne Add-Ons) es Ihnen erlauben, zu definieren, wie diese Fälle behandelt werden sollen, z. B. das Öffnen eines neuen Tabs.

    – fabelhaft

    1. April um 11:14 Uhr

Benutzer-Avatar
kojow7

Obwohl das Ziel in HTML5 noch akzeptabel ist, wird es nicht bevorzugt. Um auf eine PDF-Datei zu verlinken, verwenden Sie die Download -Attribut anstelle des Zielattributs.

Hier ist ein Beispiel:

<a href="https://stackoverflow.com/questions/4198788/files/invoice.pdf" download>Invoice</a>

Wenn der ursprüngliche Dateiname für eine eindeutige Dateispeicherung codiert ist, können Sie einen benutzerfreundlichen Download-Namen angeben, indem Sie dem Download-Attribut einen Wert zuweisen:

<a href="https://stackoverflow.com/questions/4198788/files/j24oHPqJiUR2ftK0oeNH.pdf" download="invoice.pdf">Invoice</a>

Denken Sie daran, dass die meisten modernen Browser diese Funktion zwar unterstützen, einige jedoch möglicherweise nicht. Sehen caniuse.com Für mehr Information.

  • Ich bin mir nicht sicher, ob nofollow mit Sicherheit zu tun hat – es ist für Suchmaschinen-Bots.

    – Darryl Hein

    26. Juni 2017 um 3:18 Uhr

  • @DarrylHein noreferrer auch

    – Smart Manoj

    17. Oktober 2020 um 13:25 Uhr

  • Als Entwickler können Sie nicht erzwingen, dass Links in einem neuen Tab geöffnet werden. Sie sagen dem Browser immer und nur, dass er ein neues Fenster öffnen soll. Das ist ein großer Unterschied, auch wenn Browser (mit oder ohne Add-Ons) es Ihnen erlauben, zu definieren, wie diese Fälle behandelt werden sollen, z. B. das Öffnen eines neuen Tabs.

    – fabelhaft

    1. April um 11:14 Uhr

Benutzer-Avatar
Brendan

Es ist sicher!

http://www.w3.org/TR/2010/WD-html5-20100624/text-level-semantics.html#the-a-element

  • @Gumbo Es ist zurück. Siehe Mikes Link für die aktuelle Version der Spezifikation.

    – s4y

    5. Dezember 2011 um 19:14 Uhr

1283670cookie-checkIst es in Ordnung, target=”_blank” in HTML5 zu verwenden?

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

Privacy policy