Caratteristiche

Le novità della versione 3

Cosa c'è di nuovo nella versione 3 di JSI?
In base alle richieste degli utilizzatori delle versioni precedenti ho cercato di prevedere tutti i principali sistemi di funzionamento e li ho inclusi in un unico script. Rispetto alle versioni precedenti lo script è stato ampiamente rivisto, ora JSI è realizzato in modo modulare e può soddisfare diverse esigenze: le potenzialità sono davvero grandi.
Esistono già aggiornamenti della versione 3?
Sì, sono stati rilasciati due aggiornamenti minori e a tutt'oggi l'ultima versione è la 3.0.2: la descrizione delle modifiche apportate è disponibile nella sezione aggiornamenti.

JSI dal punto di vista del webmaster
ovvero: cosa deve aspettarsi chi usa JSI

In cosa si differenzia la versione 3 dalle precedenti?
Le novità e i miglioramenti sono tanti, ecco i principali.
  1. Non esistono più due versioni di JSI una alternativa all'altra (come accadeva con le due versioni precedenti), ma un'unica versione dello script che può funzionare in modi diversi. Con JSI 3 è possibile scegliere come far funzionare lo script, ad esempio se ricaricare o no le pagine; inoltre è possibile personalizzare ulteriormente il funzionamento per ogni singola pagina richiamata dai link, ad esempio per una ricaricare anche la pagina contenitore, per un'altra lasciarla fissa, per un'altra ancora scegliere una pagina contenitore diversa.
  2. Questa versione dello script ha un parser che gli permette di adattare automaticamente i link e i percorsi delle immagini quando le pagine incluse si trovano dentro a delle sotto-cartelle rispetto alla pagina contenitore. E' quindi possibile strutturare le cartelle del sito come meglio si ritiene, nel modo più razionale.
    Nelle prime versioni invece le pagine dovevano essere tutte allo stesso livello oppure, se si trovavano in sotto-cartelle, bisognava prevedere il comportamento del browser, che fa partire link e percorsi dal livello della pagina contenitore: rendere le pagine utilizzabili anche al di fuori dell'inclusione richiedeva di usare alcuni accorgimenti, ora non più necessari.
    Nel parser ho dovuto usare sistemi complicati e ridondanti a causa di alcuni bug delle prime versioni del motore di rendering Gecko e altri di Explorer; inoltre per risolvere un bug di Safari su Mac ho dovuto inserire un ritardo di mezzo secondo quando vengono importate le pagine, altrimenti le immagini non venivano visualizzate (questo problema, tipico del Mac, si presenta anche con pagine che non usano JSI, comunque in questo modo ho risolto).
  3. E' possibile interfacciare JSI con linguaggi lato server: da questa versione i parametri passati sono contenuti in una variabile (come richiesto dai linguaggi lato server) e non più passati nudi nell'URL.
  4. La versione 3 è in grado di includere anche file *.txt: questo è possibile con tutti browser che supportano gli iframe, quindi tutti ad eccezione di Netscape 4.
  5. JSI riconosce ora anche i link con hash (il cancelletto #), consentendo di muoversi con le àncore da un punto all'altro della pagina contenitore, da un punto all'altro della pagina inclusa e di aprire nuove pagine ad una determinata altezza.
    Solo con una sequenza di navigazione molto particolare si incorre in un bug, ma è una situazione che si verifica davvero molto difficilmente.
  6. Con questa versione è possibile accelerare l'apertura delle pagine, cosa particolarmente utile quando la pagina inclusa contiene molte immagini lente da caricare. Questa caratteristica può essere applicata a tutte le pagine del sito oppure solo ad alcune, configurando appositamente lo script e i link che richiamano le pagine che si desidera velocizzare. Anche in questo caso JSI si dimostra molto flessibile, offrendo la massima libertà di personalizzazione.
  7. La compatibilità crossbrowser è sempre molto ampia, come già nelle versioni precedenti.
Guardando il sorgente di questa pagina, il codice dei contenuti non si vede: JSI consente dunque di proteggere il sorgente della pagina inclusa?
In parte sì, JSI nasconde il codice sorgente della pagina inclusa ai navigatori meno smaliziati. La parte visibile corrisponde al solo codice della pagina contenitore, mentre i contenuti sono gestiti da JSI in modo non visibile. Chiaramente, navigando con javascript disattivo le pagine si aprono senza il meccanismo di inclusione e il sorgente può essere consultato come d'abitudine.

JSI dal punto di vista dell'utente
ovvero: l'esperienza di chi naviga in un sito costruito con JSI

Quale URL compare nella barra dell'indirizzo del browser?
ovvero: dove sono?
Dipende dalla configurazione di JSI: Occorre inoltre dire che l'URL viene utilizzato da JSI per passare allo script alcune variabili, ad esempio le àncore utilizzate in caso di navigazione con hash (il cancelletto #) all'interno di una pagina: la presenza delle variabili rende l'URL meno comprensibile, come del resto avviene anche con molte pagine create con i linguaggi lato server.
Queste particolarità possono costituire un piccolo handicap, ma altre caratteristiche di JSI ci vengono in soccorso compensando il ridotto valore informativo dell'URL.
Quale title della pagina viene visualizzato?
ovvero: in che pagina sono?
JSI mostra sempre il title della pagina inclusa: questo è un aiuto importante per l'orientamento dell'utente durante la navigazione. Queste pagine dedicate a JSI ne sono un esempio: nella barra superiore del browser (o nelle linguette di navigazione) compare, ad esempio adesso, la dicitura "JSI Caratteristiche"; se ci spostiamo alla pagina delle istruzioni comparirà "JSI Istruzioni".
Nei siti a frames o costruiti con le inclusioni lato server, se non si usano accorgimenti specifici, nella barra superiore del browser compare sempre e soltanto il title del frameset o della pagina contenitore.
Ovviamente è compito del webmaster usare bene il title delle pagine, dando a ciascuna pagina un titolo specifico e significativo.
Come sono evidenziati i link già visitati?
ovvero: dove sono già stato?
I link già visitati si comportano diversamente a seconda del browser, come accade anche con le normali pagine (x)html. L'unica particolarità delle pagine costruite con JSI si presenta con Explorer, che evidenzia come già visitati solo i link richiamati senza evento onclick.
JSI supporta il tasto back del browser?
ovvero: posso rifare il mio percorso di navigazione?
Sì. A differenza di quanto succede con gli altri script tipo AJAX, con JSI il tasto back del browser funziona normalmente. Sembra una piccola cosa, ma per questo tipo di script è un risultato unico nel suo genere e davvero importante.
Cosa succede con l'utilizzo del tasto aggiorna del browser?
ovvero: posso ricaricare la pagina?
Dipende dalla modalità di funzionamento di JSI, dato che il browser ricarica la pagina il cui URL compare nella barra degli indirizzi: C'è un piccolo bug con Explorer quando si utilizzano le àncore e si usa JSI per pagine destinate alla consultazione in locale: ne parliamo nella sezione dedicata ai bug.
Come vengono stampate le pagine costruite con JSI?
ovvero: riesco a stampare la pagina?
JSI si propone come un passo avanti rispetto ai frames e lo dimostra anche in questo caso. Dimentichiamo le difficoltà di stampa tipiche dei siti a frames: le pagine costruite con JSI vengono stampate normalmente, senza alcun problema.
Tutto dipende soltanto da come sono impostate la pagina contenitore e le pagine da includere: se il webmaster ha scelto un layout fisso largo 1024 pixel e non ha previsto un foglio di stile specifico per la stampa, non c'è sito che possa essere stampato bene, indipendentemente dall'uso o meno di JSI.
E' possibile salvare le pagine in locale?
ovvero: posso salvare sul mio computer la pagina?
JSI rende problematico il salvataggio delle pagine: con javascript attivo la maggior parte dei browser salva la pagina contenitore con il messaggio di attesa; solo con javascript disattivo è possibile salvare in locale le pagine incluse.
Con JSI funzionano i bookmark?
ovvero: posso aggiungere una pagina ai miei preferiti?
Anche in questo caso dipende dall'URL visualizzato nella barra degli indirizzi, e quindi dalla modalità in cui funziona JSI:
E' possibile conoscere l'URL esatto di una pagina?
ovvero: posso segnalare una pagina ad un amico?
Sì: è sufficiente copiare il link che rimanda a una determinata pagina (tasto destro del mouse sul link, e poi con Explorer copia collegamento, con Opera copia indirizzo del link, con Firefox copia indirizzo) per conoscere il suo URL.
Se invece il navigatore utilizza come riferimento ciò che compare nella barra degli indirizzi del browser, questo corrisponderà alla pagina visualizzata solo se JSI lavora in modalità reload (come già visto per il tasto aggiorna e per i bookmark).
Le singole pagine possono essere richiamate direttamente, senza passare per la pagina index, se si conosce l'URL?
ovvero: cosa succede quando ho il link diretto ad una pagina?
Sì, è possibile richiamare le pagine direttamente. Se nelle pagine è presente tra i tag <head> </head> lo script per ricomporle nella pagina contenitore (e impedire quindi che vengano aperte isolate) le pagine verranno presentate già incluse nella pagina contenitore. Se invece il webmaster non ha messo il richiamo allo script, queste si apriranno singolarmente, non incluse nella pagina contenitore.