Szukaj…


Wprowadzenie

Chociaż wiele skryptów, ikon i arkuszy stylów można zapisać bezpośrednio w znacznikach HTML, najlepszą praktyką i bardziej wydajne jest włączenie tych zasobów do własnego pliku i połączenie ich z dokumentem. Ten temat obejmuje łączenie zewnętrznych zasobów, takich jak arkusze stylów i skrypty, z dokumentem HTML.

Składnia

  • <link rel="link-relation" type="mime-type" href="url">
  • <script src="path-to-script"></script>

Parametry

Atrybut Detale
charset Określa kodowanie znaków połączonego dokumentu
crossorigin Określa sposób, w jaki element obsługuje żądania krzyżowego pochodzenia
href Określa lokalizację połączonego dokumentu
hreflang Określa język tekstu w połączonym dokumencie
media Określa, na jakim urządzeniu będzie wyświetlany połączony dokument, często używany do wybierania arkuszy stylów na podstawie danego urządzenia
rel Wymagane Określa związek między bieżącym dokumentem a połączonym dokumentem
rev Określa związek między połączonym dokumentem a bieżącym dokumentem
sizes Określa rozmiar połączonego zasobu. Tylko gdy rel="icon"
target Określa miejsce załadowania połączonego dokumentu
type Określa typ nośnika połączonego dokumentu
integrity Określa hash zakodowany w standardzie base64 (sha256, sha384 lub sha512) połączonego zasobu, umożliwiając przeglądarce sprawdzenie jego zasadności.

Zewnętrzny arkusz stylów CSS

<link rel="stylesheet" href="path/to.css" type="text/css">

Standardową praktyką jest umieszczanie <link> CSS <link> wewnątrz znacznika <head> u góry kodu HTML. W ten sposób CSS zostanie załadowany jako pierwszy i zastosuje się do twojej strony podczas ładowania, zamiast pokazywać niestylowany HTML aż do załadowania CSS. Atrybut type nie jest konieczny w HTML5, ponieważ HTML5 zwykle obsługuje CSS.

 <link rel="stylesheet" href="path/to.css" type="text/css">

i

 <link rel="stylesheet" href="path/to.css">

... zrób to samo w HTML5.

Inną, choć mniej powszechną praktyką, jest użycie instrukcji @import w bezpośrednim CSS. Lubię to:

<style type="text/css">
    @import("path/to.css")
</style>

<style>
    @import("path/to.css")
</style>

JavaScript

Synchroniczny

<script src="path/to.js"></script>

Standardową praktyką jest umieszczanie tagów JavaScript <script> tuż przed tagiem zamykającym </body> . Ostatnie ładowanie skryptów pozwala na szybsze wyświetlanie wizualizacji witryny i zniechęca JavaScript do próby interakcji z elementami, które nie zostały jeszcze załadowane.

Asynchroniczny

<script src="path/to.js" async></script>

Inna alternatywa, gdy ładowany kod JavaScript nie jest konieczny do inicjalizacji strony, można go załadować asynchronicznie, przyspieszając ładowanie strony. Za pomocą async przeglądarka załaduje zawartość skryptu równolegle, a po jego pełnym pobraniu przerwie parsowanie HTML w celu parsowania pliku JavaScript.

Odroczony

<script src="path/to.js" defer></script>

Odroczone skrypty są jak skrypty asynchroniczne, z tym wyjątkiem, że parsowanie zostanie wykonane dopiero po pełnym przeanalizowaniu kodu HTML. Odroczone skrypty gwarantują ładowanie w kolejności deklaracji, tak samo jak skrypty synchroniczne.

<noscript>

<noscript>JavaScript disabled</noscript>

Element <noscript> określa treść, która ma być wyświetlana, jeśli użytkownik ma wyłączone skrypty lub jeśli przeglądarka nie obsługuje używania skryptów. Znacznik <noscript> można umieścić w <head> lub <body> .

Favicon

<link rel="icon" type="image/png" href="/favicon.png">
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">

Użyj plików typu mime image/png dla plików PNG i image/x-icon dla plików ikon ( *.ico ). Dla różnicy zobacz to SO pytanie .

Plik o nazwie favicon.ico w katalogu głównym witryny zazwyczaj jest ładowany i stosowany automatycznie, bez potrzeby używania tagu <link> . Jeśli ten plik kiedykolwiek się zmieni, przeglądarki mogą być powolne i uparte w aktualizowaniu pamięci podręcznej.

Alternatywny CSS

<link rel="alternate stylesheet" href="path/to/style.css" title="yourTitle">

Niektóre przeglądarki zezwalają na stosowanie alternatywnych arkuszy stylów, jeśli są oferowane. Domyślnie nie będą stosowane, ale zwykle można je zmienić w ustawieniach przeglądarki:

Firefox pozwala użytkownikowi wybrać arkusz stylów za pomocą podmenu Widok> Styl strony, Internet Explorer obsługuje również tę funkcję (od IE 8), do której można również uzyskać dostęp z Widok> Styl strony (przynajmniej od IE 11), ale Chrome wymaga rozszerzenia do użyj funkcji (od wersji 48). Strona internetowa może również zawierać własny interfejs użytkownika, umożliwiający użytkownikowi zmianę stylu.

(Źródło: Dokumenty MDN )

Kanał internetowy

Użyj atrybutu rel="alternate" aby umożliwić wykrywanie kanałów Atom / RSS.

<link rel="alternate" type="application/atom+xml" href="http://example.com/feed.xml" />
<link rel="alternate" type="application/rss+xml" href="http://example.com/feed.xml" />

Zobacz dokumentację MDN dla kanałów RSS i Atomic RSS .

<link rel="stylesheet" href="test.css" media="print">

Nośnik określa, jakiego arkusza stylów należy użyć dla jakiego rodzaju nośnika. Użycie wartości print spowoduje wyświetlenie tego arkusza stylów tylko w przypadku stron drukowania.

Wartością tego atrybutu może być dowolna z wartości mediatype (podobna do zapytania medialnego CSS).

Poprzedni i następny

Na przykład, gdy strona jest częścią serii artykułów, można użyć prev i next aby wskazać strony, które pojawiają się przed i po.

<link rel="prev" href="http://stackoverflow.com/documentation/java/topics">

<link rel="next" href="http://stackoverflow.com/documentation/css/topics">

Wskazówka dotycząca zasobów: dns-prefetch, prefetch, prerender

Połącz wstępnie

preconnect relacja jest podobna do dns-prefetch , że będzie ona rozwiązać DNS. Jednak spowoduje to również uzgodnienie protokołu TCP i opcjonalne negocjacje TLS. To jest funkcja eksperymentalna.

<link rel="preconnect" href="URL">

Wstępne pobieranie DNS

Informuje przeglądarki, aby rozpoznały DNS dla adresu URL, aby wszystkie zasoby z tego adresu URL ładowały się szybciej.

<link rel="dns-prefetch" href="URL">

Pobranie wstępne

Informuje przeglądarki, że dany zasób powinien zostać wstępnie pobrany, aby można go było szybciej załadować.

<link rel="prefetch" href="URL">

Funkcja DNS-Prefetch rozwiązuje tylko nazwę domeny, podczas gdy pobieranie wstępne pobiera / przechowuje określone zasoby.

Prerender

Informuje przeglądarki, aby pobierały i renderowały adres URL w tle, dzięki czemu mogą one zostać dostarczone użytkownikowi natychmiast po przejściu do tego adresu URL. To jest funkcja eksperymentalna.

<link rel="prerender" href="URL">


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow