HTML - Historischer oder technischer Grund für target = "_ blank" mit Unterstrich?


14

Bis heute frage ich mich, warum target="_blank"nicht geworden ist target="blank". Ich bin sicher, dass die Browser dies auch verstehen könnten.

Gibt es historische oder technische Gründe für diese Entscheidung / Spezifikation?


Das gesamte targetKonzept 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 (im 7 Frames and popups — just say noAbschnitt)
Jens Mühlenhoff

1
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.


7
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 :)
Kai Noack
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.