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
e di tipo numerico
All’interno della stringa di setting non devono comparire spazi, i parametri non specificati saranno interpretati come no.
Esempio

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

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
- Apri una nuova finestra con codice JavaScript in linea, nella sezione HEAD, esterno
- Apri una nuova finestra al centro dello schermo.
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);
}