HTML
Kotwice i hiperłącza
Szukaj…
Wprowadzenie
Znaczniki zakotwiczenia są zwykle używane do łączenia oddzielnych stron internetowych, ale można ich także używać do łączenia różnych miejsc w jednym dokumencie, często w spisie treści, a nawet uruchamiania aplikacji zewnętrznych. W tym temacie opisano implementację i stosowanie tagów zakotwiczenia HTML w różnych rolach.
Składnia
<a href="URL or anchor">Link Text</a>
Parametry
Parametr | Detale |
---|---|
href | Określa adres docelowy. Może to być bezwzględny lub względny adres URL lub name kotwicy. Bezwzględny adres URL to pełny adres URL witryny takiej jak http://example.com/ . Względny adres URL wskazuje inny katalog i / lub dokument w tej samej witrynie, np. /about-us/ wskazuje katalog „about-us” w katalogu głównym ( / ). Wskazując inny katalog bez wyraźnego określenia dokumentu, serwery sieciowe zwykle zwracają dokument „index.html” w tym katalogu. |
hreflang | Określa język zasobu połączonego atrybutem href (który musi być obecny w tym atrybucie). Użyj wartości językowych z BCP 47 dla HTML5 i RFC 1766 dla HTML 4. |
rel | Określa związek między bieżącym dokumentem a połączonym dokumentem. W przypadku HTML5 wartości muszą być zdefiniowane w specyfikacji lub zarejestrowane w wiki Microformats . |
target | Określa miejsce otwarcia łącza, np. W nowej karcie lub oknie. Możliwe wartości to _blank , _self , _parent , _top i framename (przestarzałe). Wymuszanie takiego zachowania nie jest zalecane, ponieważ narusza kontrolę użytkownika nad witryną. |
title | Określa dodatkowe informacje o łączu. Informacje są najczęściej wyświetlane jako tekst podpowiedzi, gdy kursor przesuwa się nad linkiem. Ten atrybut nie jest ograniczony do linków, można go stosować do prawie wszystkich tagów HTML. |
download | Określa, że cel zostanie pobrany, gdy użytkownik kliknie hiperłącze. Wartość atrybutu będzie nazwą pobranego pliku. Nie ma ograniczeń co do dozwolonych wartości, a przeglądarka automatycznie wykryje prawidłowe rozszerzenie pliku i doda je do pliku (.img, .pdf itp.). Jeśli wartość zostanie pominięta, używana jest oryginalna nazwa pliku. |
Link do innej strony
Jest to podstawowy wykorzystanie <a>
(a nchor element) elementu:
<a href="http://example.com/">Link to example.com</a>
Tworzy hiperłącze do adresu URL http://example.com/
zgodnie z atrybutem href
(odnośnik hipertekstu) z tekstem kotwicy „Link do example.com”. Wyglądałoby to tak:
Aby zaznaczyć, że ten link prowadzi do zewnętrznej strony internetowej, możesz użyć external
typu linku:
<a href="http://example.com/" rel="external">example site</a>
Możesz utworzyć link do strony, która używa protokołu innego niż HTTP. Na przykład, aby utworzyć link do strony FTP, możesz:
<a href="ftp://example.com/">This could be a link to a FTP site</a>
W tym przypadku różnica polega na tym, że ten tag kotwicy żąda, aby przeglądarka użytkownika łączyła się z example.com
przy użyciu protokołu przesyłania plików (FTP) zamiast protokołu przesyłania hipertekstu (HTTP).
Może to być link do strony FTP
Otwórz link w nowej karcie / oknie
<a href="example.com" target="_blank">Text Here</a>
Atrybut target
określa, gdzie otworzyć łącze. Ustawiając na _blank
, każesz przeglądarce otworzyć ją w nowej karcie lub oknie (zgodnie z preferencjami użytkownika).
BEZPIECZEŃSTWO WRAŻLIWOŚĆ OSTRZEŻENIE!
Korzystanie
target="_blank"
daje witryny otwarcie częściowego dostępu dowindow.opener
obiektu za pomocą JavaScript, który umożliwia tę stronę do ówczesnego dostępu i zmienićwindow.opener.location
swojej strony i potencjalnie przekierować użytkowników do zainfekowanych stron WWW lub phishingowych.Ilekroć używasz tego do stron, którymi nie kontrolujesz, dodaj
rel="noopener"
do swojego linku, aby zapobiec wysłaniu obiektuwindow.opener
z żądaniem.Obecnie Firefox nie obsługuje
noopener
, więc dla maksymalnego efektu będziesz musiał użyćrel="noopener noreferrer"
.
Link do kotwicy
Za pomocą kotwic można przeskakiwać do określonych tagów na stronie HTML. Znacznik <a>
może wskazywać na dowolny element, który ma atrybut id
. Aby dowiedzieć się więcej o identyfikatorach, odwiedź dokumentację dotyczącą klas i identyfikatorów . Kotwice są najczęściej używane do przeskakiwania do podsekcji strony i są używane w połączeniu z tagami nagłówka.
Załóżmy, że utworzyłeś stronę ( page1.html
) na wiele tematów:
<h2>First topic</h2>
<p>Content about the first topic</p>
<h2>Second topic</h2>
<p>Content about the second topic</p>
Po utworzeniu kilku sekcji możesz utworzyć spis treści u góry strony z szybkimi linkami (lub zakładkami) do określonych sekcji.
Jeśli podałeś temat id
do swoich tematów, możesz połączyć się z nimi
<h2 id="Topic1">First topic</h2>
<p>Content about the first topic</p>
<h2 id="Topic2">Second topic</h2>
<p>Content about the second topic</p>
Teraz możesz użyć kotwicy w spisie treści:
<h1>Table of Contents</h1>
<a href='#Topic1'>Click to jump to the First Topic</a>
<a href='#Topic2'>Click to jump to the Second Topic</a>
Te kotwice są również dołączone do strony internetowej, na której się znajdują ( page1.html
). Możesz więc łączyć witryny z jednej strony do drugiej, odwołując się do strony i nazwy kotwicy.
Remember, you can always <a href="page1.html#Topic1">look back in the First Topic</a> for supporting information.
Link, który uruchamia JavaScript
Po prostu użyj protokołu javascript:
:, aby uruchomić tekst jako JavaScript zamiast otwierać go jako zwykły link:
<a href="javascript:myFunction();">Run Code</a>
Możesz również osiągnąć to samo za pomocą atrybutu onclick
:
<a href="#" onclick="myFunction(); return false;">Run Code</a>
return false;
jest konieczne, aby zapobiec przewijaniu strony do góry po kliknięciu linku do #
. Pamiętaj, aby dołączyć cały kod, który chcesz uruchomić przed nim, ponieważ powrót spowoduje zatrzymanie wykonywania dalszego kodu.
Na uwagę zasługuje również wykrzyknik !
po hashtagu, aby zapobiec przewijaniu strony do góry. Działa to, ponieważ każdy nieprawidłowy ślimak spowoduje, że link nie będzie przewijał się nigdzie na stronie, ponieważ nie mógł znaleźć elementu, do którego się odwołuje (element o id="!"
). Możesz również użyć dowolnego nieprawidłowego ślimaka (takiego jak #scrollsNowhere
), aby uzyskać ten sam efekt. W takim przypadku return false;
Nie jest wymagane:
<a href="#!" onclick="myFunction();">Run Code</a>
Czy powinieneś użyć któregoś z tych?
Odpowiedź jest prawie na pewno nie . Uruchamianie JavaScript w połączeniu z takim elementem jest dość złą praktyką. Zastanów się nad użyciem czystych rozwiązań JavaScript, które szukają elementu na stronie i zamiast tego wiążą z nim funkcję. Słuchanie wydarzenia
Zastanów się również, czy ten element jest tak naprawdę przyciskiem zamiast łącza . Jeśli tak, powinieneś użyć
<button>
.
Link do strony w tej samej witrynie
Możesz użyć ścieżki względnej do linku do stron w tej samej witrynie.
<a href="/example">Text Here</a>
Powyższy przykład przejdzie do example
pliku w katalogu głównym ( /
) serwera.
Jeśli ten link znajdował się na stronie http://example.com , poniższe dwa linki doprowadziłyby użytkownika do tej samej lokalizacji
<a href="/page">Text Here</a>
<a href="http://example.com/page">Text Here</a>
Oba powyższe przejdą do pliku page
w katalogu głównym example.com
.
Link do klienta poczty e-mail
Podstawowe użycie
Jeśli wartość atrybutu href
zaczyna się od mailto:
spróbuje otworzyć klienta e-mail po kliknięciu:
<a href="mailto:[email protected]">Send email</a>
Spowoduje to umieszczenie adresu e-mail [email protected]
jako adresata nowo utworzonego e-maila.
DW i UDW
Możesz także dodawać adresy odbiorców cc lub bcc, używając następującej składni:
<a href="mailto:[email protected][email protected]&[email protected]">Send email</a>
Temat i treść
Możesz także wypełnić temat i treść nowego e-maila:
<a href="mailto:[email protected]?subject=Example+subject&body=Message+text">Send email</a>
Te wartości muszą być zakodowane w adresie URL .
Kliknięcie linku za pomocą mailto:
spróbuje otworzyć domyślnego klienta poczty e-mail określonego przez system operacyjny lub poprosi o wybranie klienta, którego chcesz użyć. Nie wszystkie opcje określone po adresie odbiorcy są obsługiwane we wszystkich klientach e-mail.
Link, który wybiera numer
Jeśli wartość atrybutu href
zaczyna się od tel:
:, urządzenie wybierze numer po jego kliknięciu. Działa to na urządzeniach mobilnych lub komputerach / tabletach z oprogramowaniem - takim jak Skype lub FaceTime - które może nawiązywać połączenia telefoniczne.
<a href="tel:11234567890">Call us</a>
Większość urządzeń i programów w jakiś sposób poprosi użytkownika o potwierdzenie numeru, który zamierzają wybrać.