Unterschied zwischen _self, _top und _parent im Anker-Tag-Zielattribut


80

Ich weiß, dass _blankbei Verwendung mit dem Ankertag eine neue Registerkarte geöffnet wird. Außerdem gibt es selbst definierte Ziele, die ich bei der Verwendung von Framesets verwende, aber ich möchte den Unterschied zwischen _parent, _selfund kennen _top.

Antworten:


117

Obwohl diese Antworten gut sind, denke ich meiner Meinung nach nicht, dass sie die Frage vollständig beantworten.

Das Zielattribut in einem Ankertag teilt dem Browser das Ziel des Ziels des Ankers mit. Sie wurden ursprünglich erstellt, um Anker im Rahmensystem des Dokuments zu manipulieren und zu lenken. Dies war lange bevor CSS den HTML-Entwicklern zu Hilfe kam.

Während dies target="_self"vom Browser standardmäßig festgelegt ist und das häufigste Ziel darin besteht target="_blank", den Anker in einem neuen Fenster zu öffnen (das normalerweise von den Browsereinstellungen auf Registerkarten umgeleitet wurde). Die "_parent", "_top"und framenameTags sind ein Geheimnis denjenigen überlassen , die nicht vertraut sind mit den Tagen der iframe - Website sind als Trend zu bauen.

target="_self"Dies öffnet einen Anker im selben Rahmen. Was verwirrend ist, ist, dass die Leute annehmen, dass dies dieselbe Fensterfunktion ist, da wir im Allgemeinen nicht mehr in Frames schreiben (und die Tags frameund framesetin HTML5 veraltet sind). Wenn dieser Anker in Frames verschachtelt wäre, würde er stattdessen in einer Art Sandbox-Modus geöffnet, dh nur in diesem Frame.

target="_parent" Öffnet das in der nächsten Ebene eines Frames, wenn sie ineinander verschachtelt sind

target="_top" Dies bricht außerhalb aller Frames ab, in denen es verschachtelt ist, und öffnet den Link als oberstes Dokument im Browserfenster.

target="framenameDies war ursprünglich veraltet, wurde aber in HTML5 zurückgebracht. Dies zielt auf den genauen Rahmen ab. Während dies die namerichtige Methode war, wurde diese Methode durch die Verwendung des ididentifizierenden Tags ersetzt.

<!--Example:-->

<html>
<head>
</head>
<body>
<iframe src="url1" name="A"><p> This my first iframe</p></iframe>
<iframe src="url2" name="B"><p> This my second iframe</p></iframe>
<iframe src="url3" name="C"><p> This my third iframe</p></iframe>

<a href="url4" target="B"></a>
</body>
</html>

1
Ich denke IMHO sollte vermieden werden. Ich musste Google nach seiner Bedeutung durchsuchen.
Sonevol

1
Sowieso die selbsterklärendste und beste Antwort.
Sonevol

16

Abschnitt 6.16 Frame-Zielnamen in der HTML 4.01-Spezifikation definieren die Bedeutungen, sind jedoch teilweise veraltet. Es bezieht sich auf „Fenster“, während HTML5-Entwürfe realistischer von „Browsing-Kontexten“ sprechen, da moderne Browser in diesem Kontext häufig Registerkarten anstelle von Fenstern verwenden.

Kurz gesagt, _selfist die Standardeinstellung (aktueller Browserkontext, dh aktuelles Fenster oder Registerkarte), daher ist es nur nützlich, eine <base target=...>Einstellung zu überschreiben . Der Wert _parentbezieht sich auf das Frameset, das das übergeordnete Frame des aktuellen Frames ist, während _top"aus allen Frames ausbricht" und das verknüpfte Dokument im gesamten Browserfenster öffnet.


2
Hier ist der Link zum HTML5-Entwurf für target: w3.org/TR/html-markup/a.html#a.attrs.target .
Oliver

14

target="_blank"

Öffnet ein neues Fenster und zeigt die zugehörigen Daten an.

target="_self"

Öffnet das Fenster im selben Rahmen, dh das vorhandene Fenster selbst.

target="_top"

Öffnet das verknüpfte Dokument im gesamten Fenster.

target="_parent"

Öffnet Daten in der Größe des übergeordneten Fensters.


Was bedeutet "Ganzkörper"?
Robsch

@robsch siehe James Johnsons Antwort
Joseph Rex

Worum geht es dann bei target="_main"Attributgesprächen?
Anupam Haldkar

2

Hier ist ein Bild mit unterschiedlichen Zielwerten.

Unterschiedliche Zielwerte.1


Bitte erläutern Sie Ihre "Antwort". Dieses Bild ist für sich genommen nicht klar.
SherylHohman

Hallo @SherylHohman, ich freue mich über Ihr Feedback. Ist es die Farbe des Bildes nicht klar oder Erklärung?
Binaya

Korrigiere mich, wenn ich falsch liege. Dies ist mein Verständnis, wenn ich mir das Bild ansehe: 1. _parent - Ein Link in Frame 1 wird in Frame 2 geöffnet, wenn Sie darauf klicken. 2. _self - Ein Link in Frame 1 wird in Frame 1 geöffnet, wenn Sie darauf klicken. 3. _blank - Alle Links werden in einem neuen Tab geöffnet, wenn Sie darauf klicken, unabhängig davon, in welchem ​​Frame sie sich tatsächlich befinden, selbst wenn sie sich in einem verschachtelten Iframes befinden. 4. _top - Ein Link wird auf der aktuellen Registerkarte geöffnet, wenn Sie darauf klicken, unabhängig davon, in welchem ​​Frame er sich tatsächlich befindet, selbst wenn er sich in einem verschachtelten Iframes befindet.
Motss

0

Hier ist ein praktisches Beispiel für ein Anchor-Tag mit verschiedenen

Zielattribut


3
Bitte kopieren Sie die relevanten Teile Ihres verlinkten Artikels für die Nachwelt nach SO.
Tom

Nur-Link-Antworten gelten nicht als Antworten auf SO. Dies ist ein großartiges Beispiel für einen nützlichen Kommentar. Um als Antwort zu gelten, müssen Sie relevante Informationen von der verlinkten Seite direkt in Ihren Beitrag einbetten. Weitere Informationen finden Sie auf den SO-Hilfeseiten.
SherylHohman

Der Link ist nicht mehr verfügbar!
Revnic Robert-Nick
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.