Do dziś zastanawiam się, dlaczego target="_blank"
tak się nie stało target="blank"
. Jestem pewien, że przeglądarki również to rozumieją.
Czy istnieją jakieś historyczne lub techniczne przyczyny tej decyzji / specyfikacji?
Do dziś zastanawiam się, dlaczego target="_blank"
tak się nie stało target="blank"
. Jestem pewien, że przeglądarki również to rozumieją.
Czy istnieją jakieś historyczne lub techniczne przyczyny tej decyzji / specyfikacji?
Odpowiedzi:
Jeśli było użyć target="blank"
linku zostanie otwarty w nowym oknie / karcie. Istnieje jednak subtelna różnica. Ponowne kliknięcie linku spowoduje ponowne użycie okna, które zostało otwarte za pierwszym razem, zamiast otwierania nowego.
Wynika to z faktu, że tego target
atrybutu można użyć nie tylko do otwierania nowego okna. Ma cztery wbudowane wartości, ale umożliwia także określenie własnego celu. Jeśli spojrzysz na odpowiednią stronę W3 Schools , zobaczysz następujące opcje:
_blank
Otwiera połączony dokument w nowym oknie lub karcie_self
Otwiera połączony dokument w tej samej ramce, w której został kliknięty (jest to ustawienie domyślne)_parent
Otwiera połączony dokument w ramce nadrzędnej_top
Otwiera połączony dokument w całej treści okna<framename>
Otwiera połączony dokument w nazwanej ramceWiele z tego nie ma sensu, chyba że zrozumiesz trochę na temat ramek HTML. Użycie <frameset>
znacznika HTML pozwala podzielić okno przeglądarki na osobne sekcje (ramki), każda z własną stroną. Nadając ramce nazwę i używając target
atrybutu w linkach, można kontrolować, która ramka powinna wyświetlać odpowiednią treść.
Istnieją jednak dodatkowe reguły dotyczące atrybutu docelowego, które muszą stosować przeglądarki:
target="blank"
działa tak, jak działa.Zasadniczo nie ma powodu, aby zmieniać obecną konwencję, ponieważ _blank
jest to szczególny przypadek. Pierwotnego rodzaju ramek nie można już więcej używać, ale istnieją inne przypadki, w których można nazwać obiekty, z którymi współpracuje atrybut docelowy, np. Ramki iframe, które są pojedynczymi ramkami osadzonymi bezpośrednio na stronie. Zmiana standardu spowodowałaby uszkodzenie wielu istniejących stron bez żadnych korzyści.
target="_blank"
atrybut nie był potrzebny, ale zamiast tego moglibyśmy po prostu dodać znak do adresu URL, np <a href="*https://www.stackoverflow.com">Stackoverflow</a>
. Gwiazdkę . To zaoszczędziłoby tyle pisania :)
target
koncepcja, choć nadal dozwolona w HTML 5, jest ogólnie uważana za przestarzałą. w3.org/community/webed/wiki/HTML_links_-_lets_build_a_web (w7 Frames and popups — just say no
sekcji)