Finestra > Aprire

Per aprire una pagina in una nuova finestra standard è sufficiente il codice

LINK A...

dove il lavoro è svolto dal parametro target="_blank"

Open

JavaScript permette di aprire la nuova finestra aggiungendo possibilità di scelta insospettabili: posizione, dimensioni, barre, ridimensionabilità…

Si tratta del metodo

window.open()

La versione più semplice del suo uso è la seguente

nuova_finestra=window.open("http://www.valcon.it", "NomeFinestra");

che corrisponde al link precedente.

È possibile richiamare il metodo open() aggiungendo una stringa di parametri di tipo yes/no

toolbar, location, directories, status, menubar, scrollbars, resizeable

e di tipo numerico

width, height, left, top

All’interno della stringa di setting non devono comparire spazi, i parametri non specificati saranno interpretati come no.

Esempio

Prova image


 

Finestra limitata

Il caso più frequente è quello di una nuova finestra con un contenuto ridotto (una foto, un pulsante) rispetto a una pagina normale e quindi si preferisce che non sia ridimensionabile e che non presenti barre image


 

Nel caso in cui il problema si presenti più volte è possibile inserire il codice JavaScript nella sezione HEAD

e chiamare la funzione apri() con il codice

LINK A...

A seconda delle necessità si potrà scegliere l'indirizzo, il nome (diverso!) e la dimensione della nuova finestra.

Se la stessa necessità si presenta in altre pagine, è più semplice inserire il codice JavaScript in una pagina apri_finestra.js con il contenuto

function apri(url, nome, larga, alta)
{
   settings="width="+larga+",height="+alta;
   nuova_finestra=window.open(url,nome,settings);
}

e il tag SCRIPT diventa

Al centro dello schermo

Le finestre si aprono tutte nell'angolo in alto a sinistra dello schermo, alle coordinate (0, 0)...
Si otterrebbe una visibilità maggiore se apparissero al centro dello schermo.
Si può utilizzare la classe screen e le sue proprietà width e height.

Realizziamo direttamente la funzione Javascript:

function apri(url, nome, larga, alta)
{
   x=(screen.width-larga)/2; //calcolo ascissa
   y=(screen.height-alta)/2; //calcolo ordinata
   settings="width="+larga+",height="+alta+",left="+x+",top="+y;
   nuova_finestra=window.open(url, nome, settings);
}

Con un po' di calcoli è possibile settare left e top in modo da posizionare l'angolo della nuova finestra al posto giusto.

Conclusioni

Prova il comportamento delle pagine seguenti e osserva il codice JavaScript, oltre che il codice HTML, contenuto in esse

L'ultima versione del file apri_finestra.js contiene il codice:

function apri1(url, nome, larga, alta)
 {
    settings = "width="+larga+",height="+alta;
    nuova_finestra = window.open(url,nome,settings);
 }
 function apri2(url, nome, larga, alta)
 {
    settings = "toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width="+larga+",height="+alta;
    nuova_finestra = window.open(url,nome,settings);
 }
 function apri3(url, nome, larga, alta)
 {
    x = (screen.width-larga)/2; //calcola ascissa
    y = (screen.height-alta)/2; //calcola ordinata
    settings = "width="+larga+",height="+alta+",left="+x+",top="+y;
    nuova_finestra = window.open(url, nome, settings);
 }

Lascia un commento