Gestire dinamicamente i link con JavaScript

di: Luca Ruggiero     06 Settembre 2002

Grazie a dei particolari metodi, Javascript ci permette di utilizzare sistemi diversi dal normale Tag area (A) dell'Html per creare dei link, grazie a questi possiamo linkare un file solo al verificarsi di una condizione, oppure creare dei redirect automatici, situazioni che l'Html da solo non riesce, data la sua staticità, a gestire.

Esistono tre diversi metodi per lo svolgimento di tali funzioni, la proprietà href dell'oggetto location, il metodo navigate() dell'oggetto window e la particolare funzione stringa link().

In generale possiamo dire che il primo ed il secondo si equivalgono e sono dei semplici link equivalenti al classico dell'Html, tranne per la loro capacità di essere inseriti in uno script dinamico, mentre il terzo offre la possibilità di esprimere una condizione secondo la quale, ad esempio a seconda dell'orario, il link deve puntare ad una pagina piuttosto che ad un'altra.

Iniziamo ad analizzarli singolarmente per poi scendere nello specifico ed decidere in quali situazioni scegliere di servirsi dell'uno più tosto che dell'altro o dell'altro ancora.

Proprietà href dell'oggetto location

La proprietà href dell'oggetto location è quella che si comporta in maniera analoga al link in HTML. La sua sintassi è la seguente:

location.href = "mioFile.htm";

può trovarsi inserito nei meandri di qualche semplice, o complessa che sia, funzione, oppure nell'evento onLoad della pagina, caso in cui verrà generato il redirect immediato ed istantaneo alla pagina di destinazione:

<body onLoad="location.href='mioFile.htm';">

Possiamo utilizzare questa funzione per reindirizzare i visitatori a pagine diverse a seconda della risoluzione o del browser utilizzato. Vediamo entrambi gli esempi:

Redirect a seconda della risoluzione

<script type="text/javascript">
 <!--
  //Reindirizza l'utente a seconda della risoluzione
     if ((window.screen.width == "800") && (window.screen.height == "600")) {
        location.href = "800x600.htm";
     }
     else if ((window.screen.width == "1024") && (window.screen.height == "768")) {
        location.href = "1024x768.htm";
     }
 //-->
</script>

Redirect a seconda del browser utilizzato


<script type="text/javascript">
 <!--
  //Reindirizza l'utente a seconda del browser
     if (document.all) {
        location.href = "microsoft_internet_explorer.htm";
     }
     else if (document.layers) {
        location.href = "netscape_navigator.htm";
     }
     else if (document.getElementById) {
        location.href = "opera.htm";
     }
     else {
        location.href = "altri_browser.htm";
     }
 //-->
</script>

Se vuoi aggiornamenti su Gestire dinamicamente i link con JavaScript inserisci la tua e-mail nel box qui sotto:

Guide JavaScript

Canvas, guida pratica

Canvas, tra gli elementi di HTML5 è forse quello di maggior impatto....

Guida jQuery UI

Creare siti ricchi e dinamici con jQuery UI, il progetto ufficiale...

Guida Javascript: tecniche avanzate

Una guida dal taglio pratico per approfondire la programmazione a...

Altre guide

Newsletter @JavaScript

Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Google AdWords Base

27 Febbraio 2012 a Milano
Disponibilità: 7 Posti

Corso Webmaster base

12 Marzo 2012 a Milano
Disponibilità: 6 Posti

Corso Webmaster base

20 Febbraio 2012 a Roma
Disponibilità: 7 Posti

Corso Google AdWords Base

28 Marzo 2012 a Roma
Disponibilità: 7 Posti