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.