Różnica między _self, _top i _parent w atrybucie docelowym tagu kotwicy


80

Wiem, _blankotwiera nową kartę w przypadku korzystania z tagiem kotwicy, a także istnieją cele własny zdefiniowany używam podczas korzystania z ramek, ale chciałbym wiedzieć, różnica między _parent, _selfi _top.

Odpowiedzi:


117

Chociaż te odpowiedzi są dobre, IMHO nie sądzę, aby w pełni odpowiadały na pytanie.

Atrybut target w tagu kotwicy informuje przeglądarkę o miejscu docelowym kotwicy. Zostały pierwotnie stworzone w celu manipulowania i kierowania kotwic do systemu ramek dokumentu. To było na długo zanim CSS przyszedł z pomocą programistom HTML.

Chociaż target="_self"jest to ustawienie domyślne w przeglądarce, a najczęstszym celem jest target="_blank"otwarcie kotwicy w nowym oknie (które zwykle zostało przekierowane do kart przez ustawienia przeglądarki). Te "_parent", "_top"i framenameznaczniki pozostają tajemnicą dla tych, którzy nie są zaznajomieni z czasów miejscu iframe budynku jako trendu.

target="_self"Spowoduje to otwarcie kotwicy w tej samej ramie. Mylące jest to, że ponieważ generalnie nie piszemy już w ramkach ( framea framesettagi i są przestarzałe w HTML5), ludzie przyjmują tę samą funkcję okna. Zamiast tego, gdyby ta kotwica była zagnieżdżona w ramkach, otworzyłaby się w trybie piaskownicy, czyli tylko w tej ramce.

target="_parent" Otworzy ramkę na wyższym poziomie, jeśli zostały zagnieżdżone jedna w drugiej

target="_top" Spowoduje to zerwanie poza wszystkimi ramkami, w których jest zagnieżdżony, i otworzy łącze jako główny dokument w oknie przeglądarki.

target="framenameTo było pierwotnie przestarzałe, ale przywrócone w HTML5. Spowoduje to skierowanie na konkretną ramkę. Chociaż namebyła to właściwa metoda, metoda ta została zastąpiona idznacznikiem identyfikacyjnym.

<!--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>

16

Sekcja 6.16 Nazwy celów ramek w specyfikacji HTML 4.01 definiuje znaczenie, ale jest częściowo nieaktualna. Odnosi się do „okien”, podczas gdy szkice HTML5 bardziej realistycznie mówią o „kontekstach przeglądania”, ponieważ nowoczesne przeglądarki często używają w tym kontekście kart zamiast okien.

Krótko mówiąc, _selfjest to ustawienie domyślne (bieżący kontekst przeglądania, tj. Bieżące okno lub karta), więc przydatne jest tylko nadpisanie <base target=...>ustawienia. Wartość _parentodnosi się do zestawu ramek, który jest rodzicem bieżącej ramki, natomiast _top„wyrywa ze wszystkich ramek” i otwiera połączony dokument w całym oknie przeglądarki.


2
Oto link do wersji roboczej HTML5 dla target: w3.org/TR/html-markup/a.html#a.attrs.target .
Oliver

16

target="_blank"

Otwiera nowe okno i pokazuje powiązane dane.

target="_self"

Otwiera okno w tej samej ramie, czyli samo istniejące okno.

target="_top"

Otwiera połączony dokument w całej treści okna.

target="_parent"

Otwiera dane w rozmiarze okna nadrzędnego.


Co oznacza „całe ciało”?
robsch

@robsch zobacz odpowiedź Jamesa Johnsona
Joseph Rex

więc o czym target="_main"mówi atrybut?
Anupam Haldkar

3

Oto obraz z różnymi wartościami docelowymi.

Różne wartości docelowe 1


Proszę wyjaśnij swoją „odpowiedź”. Ten obraz sam w sobie nie jest jasny.
SherylHohman

Cześć @SherylHohman, doceniam twoją opinię. Czy to kolor obrazu nie jest jasny lub wyjaśnienie?
Binaya,

1
Popraw mnie, jeśli się mylę. Oto moje zrozumienie, kiedy patrzę na obraz: 1. _parent - łącze w ramce 1 otwiera się w ramce 2 po kliknięciu. 2. _self - łącze w ramce 1 otwiera się w ramce 1 po kliknięciu. 3. _blank - po kliknięciu wszystkie łącza zostaną otwarte w nowej karcie, niezależnie od tego, w której ramce się znajdują, nawet jeśli znajdują się w zagnieżdżonych ramkach iframe. 4. _top - łącze otworzy się w bieżącej karcie po kliknięciu, niezależnie od tego, w której ramce się znajduje, nawet jeśli znajduje się w zagnieżdżonych ramkach iframe.
motss

1

Oto praktyczny przykład tagu Anchor z różnymi

Atrybut docelowy


3
Prosimy o skopiowanie odpowiednich części połączonego artykułu do SO dla potomności.
Tom

Odpowiedzi zawierające tylko łącze nie są uznawane za odpowiedzi na SO. Ponieważ jest to świetny przykład przydatnego komentarza. Aby zostać uznanym za odpowiedź, musisz osadzić odpowiednie informacje z połączonej strony bezpośrednio w swoim poście. Więcej informacji można znaleźć na stronach pomocy SO.
SherylHohman,

Link nie jest już dostępny!
Revnic Robert-Nick

1
@ RevnicRobert-Nick przywrócił link
Syed Maqsood
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.