You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 3-frames-and-windows/03-cross-window-communication/article.md
+8-9Lines changed: 8 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,7 +24,7 @@ Questi invece no:
24
24
La politica di "Same Origin" afferma che:
25
25
26
26
- se abbiamo un riferimento ad un'altra finestra, ad esempio un popup creato tramite `window.open` oppure una finestra all'interno di un `<iframe>`, e queste finestre appartengono alla stessa origine, allora avremo pieno accesso ad esse.
27
-
- altrimenti, se queste provengono da origini differenti, allora non potremo accedere al contenuto della finestra: variabili, il suo document, e qualsiasi altra informazione. L'unica eccezione è sulla proprietà `location`: possiamo modificarla (reindirizzando l'utente). Ma non possiamo *leggerne* il contenuto (quindi non possiamo sapere in quale sito si trova l'utente in un dato momento, nessuna infromazione viene trapelata).
27
+
- altrimenti, se queste provengono da origini differenti, allora non potremo accedere al contenuto della finestra: alle variabili, il suo document, e qualsiasi altra informazione. L'unica eccezione è sulla proprietà `location`: possiamo modificarla (reindirizzando l'utente). Ma non possiamo *leggerne* il contenuto (quindi non possiamo sapere in quale sito si trova l'utente in un dato momento, nessuna infromazione viene trapelata).
28
28
29
29
### In azione: iframe
30
30
@@ -120,9 +120,9 @@ Questo è tutto. Da questo momento in poi potranno interagire senza limitazioni.
120
120
121
121
Quando un iframe appartiene alla stessa origine, con la possibilità quindi di accedere al suo `document`, c'è un piccolo tranello a cui prestare attenzione. Non è strettamente legato al cross-origin, ma è comunque importante esserne a conoscenza.
122
122
123
-
Al momento della creazione, un iframe genera immediatamente un document. Ma questultimo è diverso da quello che verrà caricato internamente!
123
+
Al momento della creazione, un iframe genera immediatamente un document. Ma quest'ultimo è diverso da quello che verrà caricato internamente!
124
124
125
-
Quindi, se qualsiasi operazione effettuata sul document negli istanti dopo al creazione, andrà probabilmente persa.
125
+
Quindi, qualsiasi operazione effettuata sul document negli istanti dopo al creazione, andrà probabilmente persa.
126
126
127
127
Vediamo un esempio di quanto affermato:
128
128
@@ -191,7 +191,7 @@ Un iframe potrebbe possedere a sua volta degli iframe. I rispettivi oggetti `win
191
191
E' possibile navigare tra le finestre della gerarchia utilizzando:
192
192
193
193
-`window.frames`: la collezione delle finestre "figlie" (per iframe annidati).
194
-
-`window.parent`: il riferimento alla finestra "padre" (quella esterna).
194
+
-`window.parent`: il riferimento alla finestra "genitore" (quella esterna).
195
195
-`window.top`: il riferimento alla finestra in cima alla gerarchia.
196
196
197
197
Ad esempio:
@@ -221,7 +221,7 @@ In altre parole, un attributo `"sandbox"` vuoto, applica tutte le restrizioni, m
221
221
Di seguito la lista delle limitazioni:
222
222
223
223
`allow-same-origin`
224
-
: Di default l'attributo `"sandbox"` forza la politica di "diversa origine" per un iframe. In altre parole, fa si che il browser tratti l'`iframe` come se appartenesse ad un origine diversa, anche se in realtà il suo `src` sta puntando allo stesso sito. Con tutte le relative implicazioni viste prima. Questa opzione, disabilita la restrizione.
224
+
: Di default l'attributo `"sandbox"` forza la politica di "diversa origine" per un iframe. In altre parole, fa sì che il browser tratti l'`iframe` come se appartenesse ad un origine diversa, anche se in realtà il suo `src` sta puntando allo stesso sito. Con tutte le relative implicazioni viste prima. Questa opzione disabilita la restrizione.
225
225
226
226
`allow-top-navigation`
227
227
: Permette all'iframe` di cambiare `parent.location`.
@@ -343,9 +343,9 @@ Per le finestre di popup abbiamo i seguenti riferimenti:
343
343
- Dalla finestra che innesca l'apertura: `window.open`, consente di aprire una nuova finestra e ne ritorna il riferimento,
344
344
- Dalla finestra di popup: `window.opener`, è il riferimento alla finestra che ha innescato l'apertura.
345
345
346
-
Per gli iframe, possiamo accedere alle finestre padre/figlie utilizzando:
346
+
Per gli iframe, possiamo accedere alle finestre genitrici/figlie utilizzando:
347
347
-`window.frames`, una collection di oggetti relativi alle finestre annidate,
348
-
-`window.parent`, `window.top` sono i riferimenti alle finestre padre e alla figlia,
348
+
-`window.parent`, `window.top` sono i riferimenti alle finestre genitrici e figlia,
349
349
-`iframe.contentWindow` è la finestra all'interno di un tag `<iframe>`.
350
350
351
351
Se le finestre condividono la stessa origine (host, porta e protocollo), allora queste potranno accedere liberamente alle proprietà.
@@ -367,6 +367,5 @@ L'interfaccia `postMessage` consente a due finestre, qualsiasi sia la loro origi
367
367
-`source`: il riferimento alla finestra mittente.
368
368
-`data`: i dati inviati, sono supportati tutti i tipi di oggetto, ad eccezione di IE che accetta solamente stringhe.
369
369
370
-
Dobbiamo utilizzare `addEventListener` all'interno delle finestra target, per impostare il gestore dell'evento.
371
-
370
+
Dobbiamo utilizzare `addEventListener` all'interno delle finestra target per impostare il gestore dell'evento.
0 commit comments