Kann mir jemand erklären, warum diese Frage nicht zu StackOverflow auf diese Site migriert wurde? Es ist eine perfekte Wahl für SO und eine sehr schwache für SU - meiner Meinung nach.
Trejder
Antworten:
21
Wenn Sie target="blank"Ihren Link verwenden, wird er in einem neuen Tab / Fenster geöffnet. Es gibt jedoch einen subtilen Unterschied. Wenn Sie erneut auf den Link klicken, wird das Fenster, das beim ersten Mal geöffnet wurde, wiederverwendet, anstatt ein neues zu öffnen.
Dies liegt daran, dass das targetAttribut nicht nur zum Öffnen eines neuen Fensters verwendet werden kann. Es verfügt über vier integrierte Werte, aber Sie können auch Ihr eigenes Ziel angeben. Wenn Sie sich die entsprechende Seite der W3-Schulen ansehen , werden die folgenden Optionen angezeigt:
_blank Öffnet das verknüpfte Dokument in einem neuen Fenster oder einer neuen Registerkarte
_self Öffnet das verknüpfte Dokument im selben Frame, in dem es angeklickt wurde (dies ist die Standardeinstellung).
_parent Öffnet das verknüpfte Dokument im übergeordneten Frame
_top Öffnet das verknüpfte Dokument im gesamten Fenster
<framename> Öffnet das verknüpfte Dokument in einem benannten Frame
Vieles davon macht keinen Sinn, es sei denn, Sie verstehen etwas über HTML-Frames. Mithilfe eines HTML- <frameset>Tags können Sie das Browserfenster in einzelne Abschnitte (Frames) mit jeweils einer eigenen Seite aufteilen. Indem Sie einem Frame einen Namen geben und das targetAttribut in Ihren Links verwenden, können Sie steuern, in welchem Frame der relevante Inhalt angezeigt werden soll.
Es gibt jedoch einige zusätzliche Regeln für das Zielattribut, die Browser anwenden müssen:
Wenn das Ziel ein benutzerdefinierter Name ist, muss er mit einem Buchstaben beginnen (keine Unterstriche, Zahlen usw.).
Wenn das Ziel ein benutzerdefinierter Name ist, aber kein Rahmen / Fenster mit diesem Namen übereinstimmt, erstellen Sie eine neue Registerkarte / ein neues Fenster mit diesem Namen. Deshalb target="blank"funktioniert es so.
Grundsätzlich gibt es keinen Grund, die derzeitige Konvention zu ändern, da dies _blankein Sonderfall ist. Die ursprüngliche Art von Frames wird möglicherweise nicht mehr viel verwendet, aber es gibt andere Fälle, in denen Sie benannte Objekte haben können, mit denen das Zielattribut arbeitet, z. B. Iframes, bei denen es sich um einzelne Frames handelt, die direkt in eine Seite eingebettet sind. Eine Änderung des Standards würde viele vorhandene Seiten beschädigen, ohne dass dies Vorteile bringt.
Sie sollten sich nicht auf W3Schools beziehen: w3fools.com
Jens Mühlenhoff
2
Ich bin nicht anderer Meinung, dass W3Schools nicht das Beste für Webdesign-Richtlinien ist oder dass die Verwendung von Links mit dem Zielattribut veraltet ist. Ich habe die Informationen jedoch verwendet, um die ursprüngliche Frage spezifisch zu beantworten.
James P
1
Ich denke, dass die Verknüpfung mit Ressourcen, von denen bekannt ist, dass sie problematisch sind, keine gute Idee ist. Ihre Antwort ist in Ordnung.
Jens Mühlenhoff
1
Ich wünschte, das zusätzliche target="_blank"Attribut würde nicht benötigt, aber stattdessen könnten wir der URL einfach ein Zeichen hinzufügen, z <a href="*https://www.stackoverflow.com">Stackoverflow</a>. B. ein Sternchen . Das würde so viel Tipparbeit sparen :)
target
Konzept ist zwar in HTML 5 noch zulässig, wird jedoch allgemein als veraltet angesehen. w3.org/community/webed/wiki/HTML_links_-_lets_build_a_web (im7 Frames and popups — just say no
Abschnitt)Antworten:
Wenn Sie
target="blank"
Ihren Link verwenden, wird er in einem neuen Tab / Fenster geöffnet. Es gibt jedoch einen subtilen Unterschied. Wenn Sie erneut auf den Link klicken, wird das Fenster, das beim ersten Mal geöffnet wurde, wiederverwendet, anstatt ein neues zu öffnen.Dies liegt daran, dass das
target
Attribut nicht nur zum Öffnen eines neuen Fensters verwendet werden kann. Es verfügt über vier integrierte Werte, aber Sie können auch Ihr eigenes Ziel angeben. Wenn Sie sich die entsprechende Seite der W3-Schulen ansehen , werden die folgenden Optionen angezeigt:_blank
Öffnet das verknüpfte Dokument in einem neuen Fenster oder einer neuen Registerkarte_self
Öffnet das verknüpfte Dokument im selben Frame, in dem es angeklickt wurde (dies ist die Standardeinstellung)._parent
Öffnet das verknüpfte Dokument im übergeordneten Frame_top
Öffnet das verknüpfte Dokument im gesamten Fenster<framename>
Öffnet das verknüpfte Dokument in einem benannten FrameVieles davon macht keinen Sinn, es sei denn, Sie verstehen etwas über HTML-Frames. Mithilfe eines HTML-
<frameset>
Tags können Sie das Browserfenster in einzelne Abschnitte (Frames) mit jeweils einer eigenen Seite aufteilen. Indem Sie einem Frame einen Namen geben und dastarget
Attribut in Ihren Links verwenden, können Sie steuern, in welchem Frame der relevante Inhalt angezeigt werden soll.Es gibt jedoch einige zusätzliche Regeln für das Zielattribut, die Browser anwenden müssen:
target="blank"
funktioniert es so.Grundsätzlich gibt es keinen Grund, die derzeitige Konvention zu ändern, da dies
_blank
ein Sonderfall ist. Die ursprüngliche Art von Frames wird möglicherweise nicht mehr viel verwendet, aber es gibt andere Fälle, in denen Sie benannte Objekte haben können, mit denen das Zielattribut arbeitet, z. B. Iframes, bei denen es sich um einzelne Frames handelt, die direkt in eine Seite eingebettet sind. Eine Änderung des Standards würde viele vorhandene Seiten beschädigen, ohne dass dies Vorteile bringt.quelle
target="_blank"
Attribut würde nicht benötigt, aber stattdessen könnten wir der URL einfach ein Zeichen hinzufügen, z<a href="*https://www.stackoverflow.com">Stackoverflow</a>
. B. ein Sternchen . Das würde so viel Tipparbeit sparen :)