A partire da Chrome 132, gli sviluppatori possono partecipare a una prova per sviluppatori per un nuovo approccio ai popup web: i popup partizionati. Questa prova per sviluppatori è disponibile solo per computer e la funzionalità non è ancora disponibile su Android.
Un pop-in partizionatoè un nuovo tipo di popup progettato per interazioni di breve durata, come accessi o conferme rapide. Carica i contenuti web con due funzionalità uniche:
Perché abbiamo bisogno di pop-in partizionati?
I popup partizionati sono progettati per mantenere le proprietà di privacy di un iframe partizionato e le proprietà di sicurezza dei popup.
Man mano che sempre più utenti attivano la navigazione senza cookie di terze parti, i flussi che si basano sull'archiviazione dei dati in un popup per il recupero in un contesto di terze parti in un secondo momento (ad esempio, per mantenere la sessione utente tra i siti) potrebbero essere interrotti. I pop-in partizionati mirano a risolvere questo problema.
Come funzionano i pop-in partizionati?
Lo spazio di archiviazione di ogni pop-in partizionato è partizionato per il relativo opener. Il partizionamento dello spazio di archiviazione limita l'accesso ai dati cross-site, riducendo i rischi di monitoraggio e gli attacchi di iniezione di script. Scopri come funziona il partizionamento dello spazio di archiviazione nella nostra documentazione.
Prendi in considerazione un sito web opener.example che incorpora contenuti da
third-party.example. Per visualizzare contenuti personalizzati su opener.example, l'utente deve accedere su third-party.example. Quando i cookie di terze parti vengono
bloccati nel browser dell'utente, il flusso popup corrente è il seguente:
- L'utente fa clic su un pulsante di accesso.
- Si apre una finestra di dialogo.
- L'utente accede dal contesto di primo livello di
third-party.examplee viene scritto un cookie di autenticazione non partizionato. - I contenuti di
third-party.exampleincorporati inopener.examplenon hanno accesso ai propri cookie di primo livello scritti suthird-party.examplequando sono stati presentati in un contesto proprietario. Ciò accade perché il cookie di autenticazione non è partizionato ed è quindi un cookie di terze parti.
third-party.example incorporato in opener.example non ha accesso al proprio cookie non partizionato impostato nel contesto di primo livello del popup third-party.example.L'archiviazione di un pop-in partizionato è partizionata per l'apertura. In questo modo, i passaggi 3-4 dei flussi vengono modificati:
L'utente accede dal contesto di primo livello di
third-party.example. Poiché è aperto in un pop-in partizionato, lo spazio di archiviazione è partizionato in base aopener.example.I contenuti
third-party.exampleincorporati inopener.examplehanno accesso al proprio cookie impostato nel pop-in, poiché condividono lo stesso spazio di archiviazione partizionato.
third-party.example incorporato in opener.example ha accesso al proprio insieme di cookie partizionati nel contesto di primo livello del popup third-party.example, perché il cookie è partizionato in base a opener.example.Interfaccia utente simile a una finestra modale rispetto alla scheda di apertura
I popup partizionati hanno lo scopo di aiutare l'utente a capire che l'apertura e il popup sono correlati:
- Quando l'utente passa a un'altra scheda, il pop-in diventa automaticamente invisibile e inaccessibile, proprio come una finestra modale è visibile solo quando la scheda di apertura è attiva.
- Quando l'utente torna alla scheda di apertura, il pop-in viene visualizzato di nuovo.
- L'utente non può apportare modifiche nella barra degli indirizzi del browser del popup.
Prova
Chrome 132 introduce una prova per sviluppatori per la funzionalità Partitioned Popins. Ciò significa che la funzionalità sarà disponibile dietro un flag. Ecco come puoi provare i pop-in partizionati:
- Assicurati di utilizzare Chrome 132 o versioni successive.
- Vai a
chrome://flags#partitioned-popinse attiva il flag della funzionalità. - Riavvia Chrome.
- Prova la nostra demo.
Utilizzare i popup partizionati sul tuo sito web
Per utilizzare un pop-in partizionato sul tuo sito web, chiama il metodo window.open() con il parametro popin passato:
window.open("third-party-popin.example", "_blank", "popin");
Condividi il tuo feedback
Stiamo esplorando i popup partizionati e cercando feedback degli sviluppatori. Ecco alcuni potenziali scenari di casi d'uso:
- Flusso di autenticazione utente. Se hai implementato un flusso di autenticazione personalizzato e l'autenticazione avviene su un dominio diverso da quello del tuo sito (ad esempio, gli utenti di
site.exampleaccedono suauth-site.example), prova ad aprire la pagina di autenticazione in un pop-in per utilizzare il cookie di sessione nella pagina di apertura. - Contenuti incorporati. Prova i pop-in partizionati per visualizzare contenuti aggiuntivi da un widget di terze parti, ad esempio una finestra di dialogo delle impostazioni, un'immagine o un PDF (o altri contenuti che di solito vengono caricati in un popup), visualizzati in una finestra più grande. In questo caso, i popup partizionati mirano a conservare lo stato della sessione utente tra il widget di terze parti e il tuo sito.
Se hai uno di questi scenari nelle tue soluzioni, hai in mente altri casi d'uso o vuoi contribuire a plasmare il futuro di questa funzionalità, provala e facci sapere:
- Hai riscontrato problemi?
- Hai suggerimenti per migliorare l'esperienza utente?
- Hai suggerimenti per una migliore UI? Nello specifico, ritieni che la UI indichi chiaramente che l'apertura e il pop-in sono correlati?
- Quanto ritieni che sia utile questa funzionalità?
- Esistono altri casi d'uso per cui vorresti utilizzare i popup partizionati?
Invia una segnalazione su GitHub per condividere le tue opinioni.