MICHELEPISANI.IT

Guida al DOM

L'oggetto gerarchicamente più alto del DOM: metodi e proprietà

L'oggetto window

Agosto 09
07:042014

Con l'oggetto window si intende la rappresentazione dell'intera finestra del browser in cui è visualizzato il documento HTML, appartiene quindi al BOM (Browser Object Model) ed è pertanto al di sopra del relativo oggetto document di cui è riservato un articolo a se stante. Il riferimento a window, dato appunto il suo livello di gerarchia, può essere considerato implicito e pertanto è permesso ometterlo nelle chiamate dei suoi metodi e proprietà.

Tramite questo oggetto è possibile gestire informazioni derivanti dal browser sia a livello del browser di per se (tipo di browser, versione, ecc...) che del suo stato (online, cookie abilitati, ecc...) tramite l'oggetto navigator.

Inoltre l'oggetto window non codivide niente tra le varie tab del browser ad eccezione della dimensione della finestra che può essere gestita con i metodi resizeTo e resizeBy che ne aumentano o ne diminuiscono la grandezza relativamente in maniera dinamica (in termini assoluti) ed in base a un numero di pixel, questi metodi non sono standard e pertanto, nonostante siano supportati dalla maggior parte dei browser, non funzionano su Chrome ed Opera.

Oltre ai due su citati, i metodi e le proprietà che caratterizzano l'oggetto window sono molti, tra i primi possiamo nominare:

alert(), confirm() e prompt() che sono finestre per comunicare con l'utente un messaggio o interagire tramite bottoni di conferma o l'inserimento di dati;

scrollBy() e scrollTo() per scorrere la finestra automaticamente in base al valore passato al metodo;

print() per la stampa immediata del documento corrente qualora una stampante fosse collegata al dispositivo;

moveBy() e moveTo() per lo spostamento assoluto o in pixel della finestra;

blur() e focus(), il primo per far perdere il focus alla finestra corrente ed il secondo per darlo ad un'altra in particolare;

open() e close() il primo per aprie una una nuova finestra mentre il secondo chiuderla;

I metodi appena citati sono da non confondere con gli omonimi nomi riferiti però all'oggetto document, ovvero window.close() non è la stessa cosa di document.close().
Un esempio della sintassi da utilizzare mostrante sia la versione con riferimento esplicito all'oggetto window che quella con riferimento implicito (entrambe funzionanti ed identiche nel risultato finale) può essere il seguente, che nel caso specifico apre una finestra per l'immissione di valori:

<script type="text/javascript">
  //Finestra per inserimento dati
  window.prompt("testo di intestazione finestra", "testo contenuto casella di testo");

  //Stessa chiamata della precedente effettuata omettendo il riferimento implicito window
  prompt("testo di intestazione finestra", "testo contenuto casella di testo");
</script>


Tra le proprietà possiamo evidenziare:

closed, restituisce un valore booleano, nello specifico true nel caso in cui la finestra venga chiusa;

opener, restituisci l'oggetto che ha aperto la corrente finestra;

location, riferito all'URL della finestra corrente;

top e left, il primo per indicare in pixel la posizione della finestra partendo dall'alto, il secondo invece a partire da sinistra.

frames, length e parent per la gestione dei frames;

defaultStatus e status per recuperare o settare il testo predefinito nella barra di stato.


Tags
Condividi

Autore

Michele Pisani

Michele Pisani

Ho uno spiccato orientamento al problem-solving, se è troppo facile non mi diverto :)
Credo nella volontà e nel cambiamento perchè hanno fatto della mia passione il mio pane quotidiano.
Se devo descrivermi con una sola parola direi... "Concretezza", la mia stretta di mano è una garanzia.

0 Commenti

Non ci sono commenti

Nessuno ha ancora commentato questo articolo, fallo tu per primo!

Scrivi un Commento

Scrivi un Commento

Il tuo indirizzo email non sarà pubblicato.
I campi contrassegnati da un * sono obbligatori

Articoli e Argomenti correlati

Categorie popolari

Iscriviti alla mia newsletter

La tua e-mail con me sarà al sicuro.
Non fornirò mai le tue informazioni a nessuno!

Ultimi commenti

Michele Pisani

Ciao alessandro,
questa regex dovrebbe fare al caso tuo:

alessandro

ciao sto cercando una regex per numeri interi o decimali, positivi o negativi; la tua regex mi pare …

Michele Pisani

Ciao Nicola,
ti riferisci per caso alla situazione di gianluigi?
In tutti i casi la via …

Nicola

Ciao Michele, mi trovo nella medesima situazione in cui si trovava Gianluca un anno fa. Sei poi …