Pubblicato: 12 maggio 2025
L'elemento HTML <permission> proposto è ancora in fase di prova dell'origine, mentre il team di Chrome
lo perfeziona, basandosi sulle fondamenta gettate nella
nostra prova dell'origine iniziale.
Questo post illustra i miglioramenti che mirano a offrirti maggiore flessibilità e
controllo quando richiedi le autorizzazioni all'interno delle applicazioni web. Per una panoramica
completa dell'introduzione dell'elemento <permission> e delle sue funzionalità
iniziali, consulta il nostro articolo precedente
Una prova dell'origine per un nuovo elemento HTML <permission>.
Supporto dei contenuti per l'esperienza utente di riserva
L'elemento <permission> è stato inizialmente definito come elemento vuoto senza
contenuto fino a Chrome 136. A partire da Chrome 137 supporta i contenuti, il che significa che ora è obbligatorio contrassegnarli con tag di apertura e chiusura:
<permission>
<!-- optional content -->
</permission>
Questa modifica ti consente di includere interfacce utente di riserva all'interno del contenuto dell'elemento. Questi fallback vengono visualizzati nei browser che non supportano l'elemento <permission> o quando viene specificato un attributo type non supportato.
In questo modo, si garantisce un degrado più graduale e una migliore esperienza utente in diversi ambienti browser.
<!-- Invalid `type` attribute value -->
<permission type="not-supported">
<p>Your browser does not support the specified <code>type</code>.</p>
</permission>
Rilevamento più dettagliato delle funzionalità programmatiche
Per aiutarti a determinare il supporto per tipi di autorizzazioni specifici, abbiamo introdotto un metodo statico, isTypeSupported():
HTMLPermissionElement.isTypeSupported('geolocation');
Questo metodo restituisce un valore booleano che indica se il tipo di autorizzazione specificato
è supportato. In combinazione con il rilevamento delle funzionalità esistenti, typeof
HTMLPermissionElement !== 'undefined', ora puoi assicurarti a livello di programmazione
sia il supporto dell'elemento <permission> sia quello di tipi di autorizzazioni specifici.
Tieni presente che puoi anche trasmettere più tipi di autorizzazione separati da spazi (ad esempio "camera microphone") e verrà restituito un valore che indica se la stringa complessiva è un valore "type" valido. Ad esempio, la chiamata di isTypeSupported() con i seguenti parametri restituisce questi risultati:
"camera"→true"geolocation"→true"camera geolocation"→false(anche se i tipi sono supportati singolarmente, la combinazione non lo è).
Nomi degli eventi aggiornati
In Chrome 136, abbiamo introdotto due nuovi eventi per sostituire quelli precedenti:
onpromptdismiss(sostituisceondismiss)onpromptaction(sostituisceonresolve)
Questi nuovi eventi forniscono una semantica più chiara e si allineano meglio al comportamento dell'elemento. Gli eventi meno recenti verranno ritirati in Chrome 138, pertanto ti consigliamo di aggiornare i gestori di eventi di conseguenza.
Supporto delle icone
Stiamo lavorando per abilitare il supporto delle icone all'interno dell'elemento <permission>,
previsto per Chrome 138. Questa funzionalità ti consente di visualizzare icone predefinite
corrispondenti al tipo di autorizzazione, con opzioni di stile limitate, ad esempio regolazioni di colore
e dimensioni. I dettagli esatti dell'API sono ancora in fase di finalizzazione. 
Gli esempi riportati di seguito mostrano il colore di riempimento predefinito, un colore di riempimento diverso e nessun colore di riempimento, ma con un contorno nero.
Stile predefinito
![]()
Il colore predefinito dell'icona è lo stesso del colore del testo dell'elemento di autorizzazione.
Stile modificato
I seguenti esempi mostrano modifiche esemplari allo stile predefinito.
Modifica del colore dell'icona
::permission-icon {
fill: black;
}
![]()
Modifica del contorno dell'icona
::permission-icon {
fill: white;
stroke: black;
stroke-width: 20px;
}
![]()
Disattivare l'icona
Una volta lanciata, l'icona verrà attivata per impostazione predefinita. Se vuoi disattivare l'icona, puoi farlo utilizzando il seguente CSS
::permission-icon {
display: none;
}
Linee guida per lo stile
Per indicazioni complete sullo stile dell'elemento <permission>, incluse best practice e limitazioni, consulta le linee guida sullo stile di <permission>.
Questa risorsa fornisce istruzioni dettagliate per aiutarti a definire lo stile dell'elemento
all'interno delle tue applicazioni.
Supporto esteso di piattaforme e funzionalità
L'elemento <permission> ora supporta piattaforme e funzionalità aggiuntive:
- Supporto di Android: l'elemento ora è funzionale sui dispositivi Android, ampliando la sua applicabilità su diverse piattaforme utente.
- Supporto della geolocalizzazione:ora puoi richiedere le autorizzazioni
type="geolocation"utilizzando l'elemento<permission>con un attributo booleanopreciselocationaggiuntivo. Anche se l'attributopreciselocationinfluisce solo sulla formulazione del prompt, stiamo lavorando attivamente per differenziare le autorizzazioni di accesso alla posizione approssimativa e a quella esatta nei futuri aggiornamenti.
Conclusioni
Questi miglioramenti all'elemento <permission> fanno parte del nostro impegno continuo
per semplificare le richieste di autorizzazione e migliorare l'esperienza utente sul web. Ti
invitiamo a sperimentare queste nuove funzionalità e a fornire
feedback per aiutarci a perfezionare e sviluppare questa
funzionalità.