12.1 Hyperlink-uri și ancore. s put
12.1.1 "Vizitarea" resursei asociate
Partea implicită asociată unui link este cererea pentru o altă resursă Web. O astfel de acțiune este convențională și implicit în selectarea hyperlink (de ex. Făcând clic pe ea cu mouse-ul, tastatura de intrare, etc).
Următorul fragment HTML conține două linkuri. ancora una care indică un document HTML cu numele „chapter2.html“, iar ancora cealaltă - pe-GIF fișier imagine „forest.gif“:
Ancorele de destinație din documentele HTML pot fi specificate de elementul A (atributul nume) sau de orice alt element (atributul id).
Același efect poate fi obținut prin realizarea elementelor-titluri prin ancore:
Rolul hyperlink definit de A sau LINK. setat de atributele rel și rev.
De exemplu, legăturile definite de elementul LINK. poate descrie poziția documentului într-o serie de documente. În următorul pasaj, hyperlinkul din document, intitulat "Capitolul 5", indică capitolele următoare și anterioare:
Tipul primei legături este "prev", iar al doilea este "următorul" (două din mai multe tipuri de legături recunoscute). Link-urile hyperlink specificate în LINK. Nu sunt tratate ca documente, deși agenții utilizatorilor le pot afișa în alte moduri (de exemplu, utilitare de navigare).
12.1.3 Specificarea ancorelor și a hyperlink-urilor
Cu toate că hyperlink-urile către alte resurse sunt create de elemente și atribute diferite (de exemplu, elementul IMG, elementul FORM etc.), această secțiune privește legăturile și ancorele create de elementele LINK și A.
Elementul LINK poate apărea numai în "antetul" documentului.
Elementul A poate apărea numai în corpul documentului.
Dacă elementul A este setat la atributul href. Acest element definește ancora sursă a hiperlinkului, care poate fi activată de utilizator pentru a interoga resursa Web. Ancora de sursă este locația obiectului A., iar ancora de destinație este resursa Web.
Resursa solicitată poate fi gestionată de agentul utilizator în mai multe moduri:
- deschiderea unui nou document HTML în aceeași fereastră PA,
- deschiderea unui nou document HTML într-o altă fereastră,
- începeți un alt program pentru a procesa resursa, etc.
Deoarece elementul A are conținut (text, imagini etc.), agentul utilizator poate indica prezența acestui conținut, de exemplu, prin evidențierea unui hyperlink.
Dacă numele sau id atributele setate pentru elementul A, elementul definește o ancoră, care poate servi ca o ancoră destinație alte hyperlink-uri.
Elementul LINK definește relația dintre documentul curent și o altă resursă. Deși LINK nu are conținut, relațiile definite de acesta pot fi reproduse de unii agenți utilizator.
Atributul titlu poate fi setat de elementele A și LINK pentru a adăuga informații despre link. Aceste informații pot fi pronunțate de agentul utilizator, pot fi afișate ca indiciu, determină o schimbare a tipului de cursor etc.
Astfel, putem extinde exemplul anterior. adăugând un titlu la fiecare legătură:
Atributul hreflang furnizează UA informații despre limba resurselor hiperlink, la fel cum atributul lang furnizează informații despre limbajul conținutului elementului sau al valorilor atributului.
Elementul A
Atribute definite în altă parte
Fiecare element A definește o ancora:
- Conținutul elementului A determină amplasarea ancorei.
- Numele atributului se referă ancora, astfel încât să poată fi ancora destinație 0 sau mai multe referințe (a se vedea. De asemenea, ancore cu id atribut).
- Atributul href face ca această ancora să fie sursa unui singur hyperlink specific.
Pentru a specifica în mod explicit setul de caractere PA al paginii de destinație, setați valoarea atributului charset:
Să presupunem că am definit ancora "anchor-one" în fișierul "one.html".
Acest lucru creează o ancoră în jurul textului "Aceasta este locația ancorei". De obicei, conținutul lui A nu este afișat dacă A definește doar ancora.
După ce am determinat ancora, ne putem referi la acesta din același sau alt document.
URI-urile care indică ancora conțin caracterul "#" urmat de numele ancorei (identificatorul fragmentului). Iată câteva exemple de astfel de URI:
Elementul A din următorul exemplu definește un hyperlink (folosind href) și creează simultan o ancora numită (folosind numele):
Acest exemplu conține o legătură către un alt tip de resursă Web (imagine PNG). Activarea unei hiperlegături ar trebui să determine resursa să fie recuperată de pe Web (și eventual să fie afișată dacă sistemul este configurat corespunzător).
Notă. PA ar trebui să poată găsi ancore create de elemente A goale, dar unele PA nu fac acest lucru. De exemplu, unii agenți utilizator nu pot detecta o "ancoră goală" în următorul fragment HTML:
Numele ancorei este valoarea atributului name sau id. atunci când este utilizat în contextul ancorelor. Numele ancorelor trebuie să respecte următoarele reguli:
- Unicitatea: numele ancorelor trebuie să fie unice în document.
Numele ancorelor, care diferă numai în registru, nu pot apărea într-un singur document. - Coordonarea șirului: Comparația identificatorilor de fragmente și numele ancorelor trebuie făcută în cazul caracterelor.
Astfel, exemplul următor este corect în ceea ce privește potrivirea șirurilor și trebuie tratat ca un potrivire:
Utilizare necorespunzătoare:
Acesta este un exemplu de utilizare incorectă a numelor, deoarece numele sunt identice și diferă numai în registru:
Deși următorul fragment HTML este corect, comportamentul agentului utilizator nu este definit în acest caz; unele PA-uri pot (incorect) trateze acest lucru ca o coincidență, în timp ce altele nu pot.
Legăturile și ancorele definite de A. nu pot fi imbricate; elementul A nu trebuie să conțină alte elemente din A.
Deoarece DTD definește elementul LINK drept gol, elementele LINK nu pot fi imbricate.
Atributul id poate fi folosit pentru a crea o ancoră în eticheta inițială a oricărui element (inclusiv elementul A).
Acest exemplu ilustrează folosirea atributului id pentru a plasa ancora în elementul H2. Ancora este conectată prin intermediul elementului A.
În următorul exemplu, ancora destinației este denumită utilizând atributul id:
Atributele de nume și nume împărtășesc un spațiu de nume comun. Aceasta înseamnă că aceștia nu pot determina simultan ancora cu același nume în același document. Puteți utiliza ambele atribute pentru a defini identificatori unici pentru următoarele elemente: A. APPLET. FORMULAR. FRAME. IFRAME. IMG și MAP. Dacă ambele atribute sunt utilizate în același element, valorile lor trebuie să fie identice.
EXEMPLU DE UTILIZARE ÎNAPOI:
Următorul fragment HTML este incorect, deoarece aceste atribute declară un nume de două ori într-un singur document:
Următorul exemplu arată că ID-ul și numele trebuie să fie identice dacă ambele apar în eticheta de început a elementului:
În conformitate cu specificația sa în HTML DTD, atributul nume poate conține mnemonice de caractere. Deci, valoarea D # xfc; rst este valoarea corectă a atributului name. precum și DüRST. ID-ul atributului. cu toate acestea, nu poate conține mnemonice de caractere.
- Atributul id poate acționa nu numai ca un nume de ancoră (de exemplu, selector de foi de stil, id de proces etc.).
- Unii agenți mai vechi nu acceptă ancore create de atributul id.
- Atributul nume permite nume de ancore extinse (cu mnemonice).
- Dacă agentul utilizator nu poate găsi resursa asociată, trebuie să notifice utilizatorul.
- Dacă agentul utilizator nu poate identifica tipul resursei asociate, trebuie să încerce să o proceseze. El trebuie să avertizeze utilizatorul și să-i dea accesul (utilizatorului) pentru a identifica tipul de document.
12.3 Relația documentelor: Elementul LINK
Atribute definite în altă parte
Acest exemplu arată cum pot apărea diferite definiții LINK în secțiunea HEAD a documentului. Documentul curent este "Chapter2.html". Atributul rel specifică relația dintre documentul asociat și documentul curent. Valorile "Index", "Următorul" și "Prev" sunt explicate în tipul de secțiuni de linkuri.
Atributele rel și rev pot în plus: atributul rel - definesc legăturile înainte și atributele rev - atributele înapoi.
Luați în considerare două documente - A și B.
are același înțeles ca:
Ambele atribute pot fi definite simultan.
În cazul în care elementul LINK leaga o foaie de stil extern documentului, atributul type specifică limba stiluri de masă, iar atributul media specifica mass-media de prezentare corespunzătoare. PA-urile pot economisi timp solicitând din rețea numai acele foi de stil care se aplică dispozitivului curent.
Tipurile de materiale sunt discutate în secțiunea privind foile de stil.
- pentru trimiteri la versiuni alternative ale documentului în alte limbi;
- pentru referiri la versiuni alternative ale documentului, elaborate pentru alte media, de exemplu, versiuni speciale pentru tipărirea documentelor;
- pentru linkuri către pagina inițială a colecției de documente.
Următorul exemplu ilustrează modul în care informațiile de limbă, tipuri de suporturi, și link-ul tipuri pot fi combinate pentru a simplifica procesarea motorului de căutare de documente.
Aici folosim atributul hreflang. Pentru a comunica motorului de căutare unde să găsească versiunile daneze, portugheze și arabe ale documentului. Rețineți utilizarea atributului charset pentru versiunea arabă a tutorialului. Rețineți, de asemenea, utilizarea atributului lang pentru a indica valoarea atributului titlu al elementului LINK. indicând manualul francez - franceză.
În exemplul următor, îi spunem motorului de căutare unde să caute versiunea pentru imprimare:
În următorul exemplu, îi spunem motorului de căutare unde să caute pagina inițială a colecției de documente:
12.4 Informații despre cale: elementul BASE
href = uri [CT] Acest atribut definește absolut URI, acționând ca bază URI pentru rezoluție (expansiune) relativ URI.
Atribut definit în altă parte
Dacă este prezent, elementul BASE ar trebui să apară în secțiunea HEAD a documentului HTML înainte de orice element care face trimitere la resursa externă. Informațiile despre cale specificate de elementul BASE acționează numai pe URI din documentul în care apare elementul BASE.
URI-ul relativ "../cages/birds.gif" va fi extins la:
UE trebuie să calculeze URI de bază pentru extensia URI-urilor relative în conformitate cu [RFC1808]. secțiunea 3.
Următoarele explică modul în care [RFC1808] este folosit în specificul HTML.
Agenții utilizator trebuie să calculeze URI de bază în această ordine (prioritate de la cea mai mare la cea mai mică):
- URI de bază setat de elementul BASE.
- URI de bază derivate din metadate în timpul interacțiunii protocolului, atât din "antetul HTTP" (a se vedea [RFC2616]).
- În mod implicit, este luată în considerare URI-ul de bază al documentului curent. Nu toate documentele HTML au un URI de bază (de exemplu, în e-mail poate apărea un document HTML complet și poate să nu aibă un pointer sub forma unui URI). Documentele HTML sunt considerate eronate dacă conțin URI-uri relative și sunt corelate cu URI-ul de bază implicit.
În plus, elementele OBJECT și APPLET definesc atributele care au un avantaj față de valorile stabilite de elementul BASE. Consultați definițiile acestor elemente pentru mai multe informații despre problemele URI legate în mod specific de aceste elemente.
Notă. Pentru versiunile HTTP care definesc antetul Legătură, agenții utilizator pot gestiona aceste "capace" la fel ca și elementele LINK din document. HTTP 1.1, așa cum este definit în [RFC2616]. nu conține câmpul "capace" Legătură (vezi secțiunea 19.6.3).