Guida html

Il cuore del WWW: i Links

I link e l'ipertestualità

Una delle caratteristiche che ha fatto la fortuna del web è l’essere costituito non da testi ma da ipertesti (un’altra delle caratteristiche che hanno fatto grande il web è senz’altro la possibilità di interagire, ma questo è un altro discorso).

I link sono "il ponte" che consente di passare da un testo all’altro. In quanto tali, i link sono formati da due componenti:

il contenuto che "nasconde" il collegamento (non importa se si tratta di testo o di immagine) È la parte visibile del link, e proprio per questo l’utente deve essere sempre in grado di capire quali sono i collegamenti da cliccare all’interno della pagina
la risorsa verso cui il collegamento punta Si tratta di un’altra pagina (sullo stesso server o su un server diverso), oppure è un collegamento interno a un punto della pagina stessa

Di solito per spiegare che cosa sono i link si utilizza la metafora dell’ancora con "la testa" all’interno del documento stesso, e la "coda" in un altro documento (o all’interno di un altro punto del documento stesso).

Link che puntano ad altri documenti

Ecco la sintassi per creare un link con riferimento a un sito web:

Le risorse per webmaster sono su <a href="http://www.isolajava.com/">isolajava.com</a>.

Che dà come risultato: 'Le risorse per webmaster sono su www.isolajava.com'.

Come si può intuire la testa della nostra àncora è il testo "isolajava.com", mentre la coda, cioè la destinazione (specificata dall’attributo href) è il sito web verso cui il link punta, cioè http://www.isolajava.com/index2.php

È indifferente che la destinazione dell’ancora sia una pagina HTML di un sito, un’immagine, un file pdf , un file zip, o un file exe: il meccanismo del link funziona allo stesso modo indipendentemente dal tipo di risorsa; poi il browser si comporterà in modo differente a seconda della risorsa. Ad esempio:

Immagine .gif, .jpg, .png Viene visualizzata nel browser
Documento .html, .pdf, .doc La pagina è visualizzata nel browser.
Nel caso dei documenti .doc e .pdf l'utente deve avere installato sul proprio pc l'apposito plugin (nella maggior parte dei casi è sufficiente che abbia installato rispettivamente Microsoft Word e Adobe Acrobat Reader). Se non è installato il plugin il sistema chiederà all'utente se salvare il file.
File .zip, file .exe Viene chiesto all’utente di scaricare il file

NOTA bene: per motivi di sicurezza non è possibile eseguire un file ".exe" direttamente dal web; l’utente dovrà sempre prima scaricarlo sul proprio PC.

Potete anche specificare un indirizzo e-mail. In questo caso si aprirà direttamente il client di posta dell’utente con l’indirizzo e-mail pre-impostato. La sintassi è la seguente:

<a href="mailto:tuaMail@nomeTuoSito.it">
 Mandami una e-mail
</a>.
 

Che dà come risultato: Mandami una e-mail.


I percorsi assoluti e relativi

Percorsi assoluti

Fino a quando ci troviamo nella condizione di creare un sito web di dimensioni ridotte (poche pagine) non avremo problemi di complessità, e possiamo anche ipotizzare di lasciare tutti i nostri file in una medesima cartella. È evidente però che – man mano che il nostro sito web cresce – avremo bisogno di un maggior ordine.

Si presenterà allora l’esigenza di inserire le immagini del sito in una cartelle diverse (in modo da averle tutte nella medesima locazione), e magari sarà opportuno dividere il sito in varie sezioni, in modo da avere tutti i documenti dello stesso tipo all’interno di un contesto omogeneo.

I siti web sono dunque organizzati in strutture ordinate: non a caso si parla di albero di un sito, per indicare la visualizzazione della struttura alla base del sito.

Poiché l’organizzazione di un sito in directory e sottodirectory è una cosa normalissima, dobbiamo imparare a muoverci tra i vari file che costituiscono il sito stesso, in modo da essere in grado di creare collegamenti verso i documenti più reconditi, destreggiandoci tra le strutture più ramificate.

Per farlo esistono due tecniche:

  • indicare un percorso assoluto
  • indicare un percorso relativo

Nel caso in cui il documento a cui vogliamo puntare si trovi in una particolare directory del sito di destinazione, con i percorsi assoluti non abbiamo che da indicare il percorso per esteso.

Se esaminiamo:

Leggi le risorse sui <a href="http://www.isolajava.com/css/index.html">fogli di stile</a>

Possiamo vedere chiaramente che il link indica un percorso assoluto e fa riferimento ad una particolare directory. Nella fattispecie:

http:// Indica al browser di utilizzare il protocollo per navigare nel web (l’http)
www.isolajava.com/ Indica di fare riferimento al sito www.isolajava.com
css/ Indica che la risorsa indicata si trova all’interno della cartella "css"
index.html Indica che il file da collegare è quello chiamato "index.html"

Insomma, per creare un collegamento assoluto è sufficiente fare riferimento all’url che normalmente vedete scritto nella barra degli indirizzi. I percorsi assoluti si usano per lo più, quando si ha la necessità di fare riferimento a risorse situate nei siti di terze persone.

Percorsi relativi

Spesso vi troverete tuttavia a fare riferimento a documenti situati nel vostro stesso sito, e – se state sviluppando il sito sul vostro computer di casa (cioè "in locale") – magari non avete ancora un indirizzo web, e non sapete di conseguenza come impostare i percorsi. È utile allora capire come funzionano i percorsi relativi.

I percorsi relativi fanno riferimento alla posizione degli altri file rispetto al documento in cui ci si trova in quel momento.
Per linkare due pagine che si trovano all’interno della stessa directory è sufficiente scrivere:

<a href="paginaDaLinkare.html">collegamento alla pagina da linkare nella stessa directory della pagina presente</a>

Poniamo ora di trovarci in una situazione di questo genere:

Figura 1. Riferimento a pagina di una sottodirectory
Riferimento a pagina di una sottodirectory

Dalla pagina "index.html" vogliamo cioè far riferimento al file "interna.html", che si trova all’interno della directory "interna", che a sua volta si trova all’interno della directory "prima".

La sintassi è la seguente:

<a href="prima/interna/interna.html">Visita la pagina interna</a>

Vediamo adesso l’esempio opposto: dalla pagina interna vogliamo far riferimento a una pagina ("index.html") che si trova più in alto di due livelli:

Figura 2. Riferimento a pagina in una directory di livello superiore
Riferimento a pagina in una directory di livello superiore

La sintassi è la seguente:

<a href="../../index.html">Visita la pagina interna</a>

Come si vede, con i percorsi relativi valgono le seguenti regole generali:

Per far riferimento a un file che si trovi all’interno della stessa directory basta linkare il nome del file <a href="paginaDaLinkare.html">collegamento alla pagina</a>
Per far riferimento a un file contenuto in una cartella di livello inferiore alla posizione corrente, basta nominare la cartella seguita dallo "slash", e poi il nome del file.

Secondo la formula:
cartella/nomeFile.html
<a href="prima/interna/interna.html">Visita la pagina interna</a>
Per tornare su di un livello, è sufficiente utilizzare la notazione:
../nomeFile.html
<a href="../../index.html">Visita la pagina interna</a>

Grazie a questi accorgimenti potete agevolmente navigare all’interno delle directory del vostro sito: se ce ne fosse bisogno potrete per esempio tornare su di un livello rispetto alla posizione del file, scegliere un’altra cartella, e poi scegliere un altro file:

../altraCartella/nuovoFile.html

Per approfondimenti potete consultare la pagina d’esempio.

Approfondimenti

A volte potrete incontrare la notazione:

Leggi le risorse sui <a href="/css/index.html">fogli di stile</a>

Se il vostro sito è all’interno di un server Unix (ma la sintassi funziona anche in sistemi Windows, basta che non siano in locale), questa notazione non deve stupirvi: il carattere '/' indica la directory principale del sito, altrimenti detta "root". Dunque <a href="/css/index.html"> è un altro modo di esprimere i percorsi assoluti all’interno del proprio sito.

Un'altra cosa importante da sapere è che quando metterete il vostro sito all'interno dello spazio web, l'indicazione della index all'interno di una directory è facoltativa. Al posto di questo:

http://www.isolajava.com/css/index.html

è sufficiente indicare la directory:

http://www.isolajava.com/css/

Verificate solo con il vostro gestore dello spazio web (cioè "hosting"), se le pagine index della directory devono avere forma index.html, index.htm, index.asp, index.php, home.asp, o altro.

Consigli per i nomi dei file

Quando mettere nel web il vostro sito internet, vi accorgerete che esistono due famiglie di sistemi operativi: Windows e Unix. Questi due sistemi operativi utilizzano differenti modi per gestire i file, dunque alcuni accorgimenti sono necessari:

  • è consigliabile non lasciare spazi vuoti nei nomi dei file (gli spazi vuoti non sempre vengono interpretati correttamente), meglio ovviare a questa necessità con un "trattino basso" (cioè "_"). Ad esempio: mio_file.html
  • maiuscole e minuscole possono fare la differenza (in ambiente Unix spesso la fanno), quindi controllate il modo in cui avete scritto i file

Inoltre quando create un collegamento state attenti a non avere una notazione simile a questa:

<a href="file:///C|percorsonomeFile.html">testo</A>

significa che state facendo un riferimento (assoluto) al vostro stesso computer: chiaro che quando metterete i file nel vostro spazio web, le cose non funzioneranno più.


I link interni o ancore

È possibile anche creare un indice interno al documento, utilizzando le ancore. Ciascuna ancora può avere infatti un nome:

<a name="primo">Stiamo per esaminare la struttura…. Eccetera…</a>

Da notare che in mancanza dell’attributo che indica il collegamento (href) le àncore non vengono viste come link, ma la loro formattazione è indistinguibile dal "normale" testo.

In un ipotetico indice è allora possibile far riferimento all’àncora presente all’interno del documento attraverso un link che punti ad essa:

<a href="#primo">vai al primo paragrafo</a>

il cancelletto indica che il collegamento deve cercare un àncora chiamata "primo" all’interno della pagina stessa.

Se non si specifica il nome dell’àncora a cui si vuol puntare, viene comunque creato un link che punta ad inizio pagina (viene cercata un’àncora il cui nome non è specificato). Questo infatti è un ottimo escamotage per creare link "vuoti" (in alcuni casi vi occorreranno). Ad esempio:

<a href="#">link vuoto</a>

Per creare un indice interno alla pagina si procede dunque in due fasi distinte:

  • creazione dell’ancora a cui puntare (<a name="mioNome">)
  • creazione del collegamento all’ancora appena creata e riferimento
  • attraverso il cancelletto (<a href="#mioNome">)

È bene non confondere le due fasi.

Un esempio di quanto appena esposto lo potete trovare nella pagina dell’esempio.


Gli attributi dei link

target

È anche possibile specificare in quale finestra la pagina linkata deve essere aperta: di default infatti la pagina viene aperta all'interno del documento stesso, ma è possibile specificare che la pagina sia aperta in una nuova finestra:

<a target="_blank" href="http://www.isolajava.com">visita isolajava.com</a>

cioè:

vedremo questo attributo più in dettaglio quando parleremo dei frames.

title

L'attributo title è molto importante, e serve per specificare un testo esplicativo per l'elemento a cui l'attributo è riferito (il title si può infatti utilizzare anche per elementi differenti dalle ancore). Questa spiegazione addizionale favorisce l'accessibilità del sito anche ai disabili, alle persone per esempio che hanno disturbi alla vista. Se lasciate il cursore del mouse per qualche secondo su un collegamento dotato di title, vedrete comparire una specie di etichetta con il testo specificato nel title:

<a title="in isolajava.com puoi trovare risorse per webmaster" 
    href="http://www.isolajava.com/" target="_blank" >
    Visita isolajava.com
</a>

cioè:

L'attributo title è anche utilissimo per migliorare la propria presenza nei motori di ricerca, che ne vanno a leggere il contenuto.

hreflang

Con "hreflang" si indica la lingua del documento: si tratta di un attributo che migliora l'accessibilità del sito, oltre ad essere potenzialmente utile per i motori di ricerca (l'attributo può essere utilizzato ad esempio per specificare la presenza di una sezione del proprio sito in lingua inglese):

Nel sito del <a href="http://www.w3c.org/" hreflang="eng" target="_blank">World Wide Web Consortium</a> puoi trovare le specifiche dell'HTML in lingua inglese

cioè:

Nel sito del World Wide Web Consortium puoi trovare le specifiche dell'HTML in lingua inglese

accesskey

Le accesskey sono delle scorciatoie "da tastiera" che potete utilizzare nel vostro sito. Si tratta di scegliere delle lettere della tastiera che - quando vengano digitate dall'utente - permettono di andare direttamente a determinate pagine. Per esempio potreste specificare che:

<a href="http://www.isolajava.com/" accesskey="h" target="_blank" >Torna all'home page di isolajava.com</a>

cioè:

In questa pagina digitando "ALT + h + invio" con Internet Explorer, oppure direttamente "h + invio" con Mozilla si accede direttamente all'home page di isolajava.com. Si tratta di un'altra tecnica per migliorare l'accessibilità, ma un uso improprio e indiscriminato di questa tecnica può risultare davvero deleterio per la navigazione. Diciamo che le accesskey dovrebbero essere riservate per la navigazione dei menu che portano alle parti principali del sito.

Colorare i link

Abbiamo già visto come colorare i link in tutta la pagina. Possiamo però aver bisogno di colorare alcuni link della pagina in modo diverso. Per farlo è sufficiente annidare il tag <font> all'interno del link:

<a href="http://www.isolajava.com/" target="_blank" ><font color="red" size="2" face="Verdana, Arial, Helvetica, sans-serif">Torna all'home page di isolajava.com</font></a>

cioè:

ovviamente il modo giusto per colorare i link non è quello di utilizzare il tag font, ma quello di utilizzare i fogli di stile, come spiegato nella Guida CSS.

Il tag <base>

I percorsi relativi fanno di norma riferimento alla directory in cui si trova il file HTML che stiamo scrivendo. Se tuttavia vogliamo far riferimento a un differente percorso per tutti i percorsi relativi, possiamo farlo specificandolo grazie al tag <base>,

che va incluso nella head del documento. Ad esempio con:

<base href="http://www.mioSitoWeb.com/miaCartella">

specifico che d'ora in poi tutti i percorsi relativi faranno riferimento al percorso indicato. E poi nel documento potrò scrivere:

<a href="mioFile.html">collegamento al mio file</a>

sicuro che farà riferimento a:

http://www.mioSitoWeb.com/miaCartella/mioFile.html

Si tratta di una caratteristica particolarmente utile quando bisogna mandare ad esempio delle mailing list in formato HTML: possiamo infatti utilizzare i percorsi relativi per sviluppare la pagina della mailing list in locale, e mantenerli inalterati grazie all'utilizzo di questo tag. Grazie ad esso siamo infatti sicuri che anche l'utente che riceverà la mail potrà visualizzare le immagini e i link con un percorso corretto.


Home page Isola java   @@


© All Rights Reserved - www.isolajava.com