548 Stimmen

target="_blank" vs. target="_new"

Was ist der Unterschied zwischen <a target="_new"> y <a target="_blank"> und welche sollte ich verwenden, wenn ich nur einen Link in einem neuen Tab/Fenster öffnen möchte?

689voto

fresskoma Punkte 24869

Verwenden Sie "_blank"

Según la HTML5-Spezifikation :

A gültiger Name des Browsing-Kontextes ist eine beliebige Zeichenfolge mit mindestens einem Zeichen, das nicht mit einem U+005F LOW LINE-Zeichen beginnt. (Namen, die mit einem Unterstrich beginnen, sind für besondere Schlüsselwörter reserviert).

A gültiger Name des Browsing-Kontextes oder Schlüsselwort ist eine beliebige Zeichenkette, die entweder ein gültiger Browsing-Kontextname oder eine ASCII-Groß-/Kleinschreibung-unabhängige Übereinstimmung mit einem der folgenden Begriffe ist: _blank, _self, _parent, oder _top." - Source :

Das bedeutet, dass es kein Schlüsselwort gibt, das _new in HTML5, und auch nicht in HTML4 (und folglich XHTML) . Das bedeutet, dass es kein einheitliches Verhalten gibt, wenn Sie diesen Wert für das Zielattribut verwenden.

Empfehlung zur Sicherheit

Wie Daniel und Michael in den Kommentaren hervorgehoben haben, ist bei der Verwendung von Ziel _blank die auf eine nicht vertrauenswürdige Website verweist, sollten Sie zusätzlich die rel="noopener" . Dadurch wird verhindert, dass die öffnende Seite den Öffner über JavaScript manipuliert. Siehe ce poste für weitere Informationen.

139voto

Abhi Beckert Punkte 31716

使用方法 target="_blank" weist den Browser an, eine neue Registerkarte oder ein neues Fenster zu erstellen, wenn der Benutzer auf den Link klickt.

使用方法 target="_new" ist nach den Spezifikationen technisch gesehen ungültig, aber soweit ich weiß, verhält sich jeder Browser auf die gleiche Weise:

  • es wird nach einer Registerkarte oder einem Fenster mit dem Kontextnamen "_new" gesucht
  • wenn ein "_neues" Tab/Fenster gefunden wird, wird die URL in dieses geladen
  • wenn sie nicht gefunden wird, wird eine neue Registerkarte/ein neues Fenster mit dem Kontextnamen "_new" erstellt und die URL darin geladen

Note target="_new" verhält sich genau so wie target="new" und letzteres ist gültiges HTML, während ersteres ungültiges HTML ist.

Zur weiteren Verwirrung trägt bei, dass in HTML4 die target Attribut wurde veraltet. In HTML5 wurde diese Entscheidung rückgängig gemacht, und das Attribut ist nun wieder offizieller Bestandteil der Spezifikation. Alle Browser unterstützen target unabhängig davon, welche HTML-Version Sie verwenden, aber einige Validatoren kennzeichnen die Verwendung als veraltet, wenn Ihr Doctype HTML4 ist.

29voto

abe312 Punkte 4455

TL;DR
VERWENDEN _blank

Das Attribut target gibt an, wo das verknüpfte Dokument geöffnet werden soll.

USAGE: target="xyz"  [don't forget double quotes]

_blank  Opens the linked document in a new window or tab
_self   Opens the linked document in the same frame as it was clicked (this is default)
_parent     Opens the linked document in the parent frame
_top    Opens the linked document in the full body of the window 
framename   Opens the linked document in a named frame

Da "_new" keines dieser Elemente ist, wird es unter "framename" eingeordnet, so dass, wenn ein Benutzer erneut auf diesen Hyperlink klickt, keine neue Registerkarte geöffnet wird, sondern die vorhandene Registerkarte aktualisiert wird. Wenn der Benutzer zweimal auf _blank klickt, werden hingegen 2 neue Registerkarten geöffnet.

27voto

Michal Frystacky Punkte 1388

Ich weiß, dass dies eine alte Frage ist und die richtige Antwort lautet: Verwenden Sie _blank wurde bereits mehrfach erwähnt, aber mit <a target="somesite.com" target="_blank">Link</a> ist ein Sicherheitsrisiko .

Sie ist empfohlen ( Leistungsvorteile ) zu verwenden:

<a href="somesite.com" target="_blank" rel="noopener noreferrer">Link</a>

15voto

corroded Punkte 21008

Diese Frage wurde vielleicht schon einmal gestellt, aber:

"Jeder Link, der target="_new" angibt, sucht und findet dieses Fenster anhand seines Namens und öffnet sich in ihm.

Wenn Sie target="_blank" verwenden, wird jedes Mal ein völlig neues Fenster über dem aktuellen Fenster erstellt.

von hier aus: http://thedesignspace.net/MT2archives/000316.html

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X