Novità di Chrome 128

Tieni presente quanto segue:

  • La visualizzazione degli elementi <ruby> è migliore con le interruzioni di riga.
  • Promise.try semplifica l'accodamento delle promesse.
  • L'evento PointerEvent viene esteso per identificare in modo univoco più penne.
  • E c'è molto altro.

Sono Adriana Jara. Diamo un'occhiata alle novità per gli sviluppatori in Chrome 128.

Interruzione di riga <ruby>

L'elemento <ruby> migliora la presentazione del testo, in particolare per le lingue dell'Asia orientale. Ti consente di visualizzare annotazioni fonetiche o altre informazioni supplementari sopra o accanto al testo di base.

Un elemento ruby è costituito da due parti principali: la base ruby, ovvero il testo principale, e il testo ruby, ovvero il testo dell'annotazione, contrassegnati dall'elemento.

In precedenza, se un ruby-base o un ruby-text era più lungo di un'intera riga, veniva a capo singolarmente creando problemi di layout.

Ora il testo rubi da spezzare inserisce il testo dell'annotazione rubi a capo sopra il testo di base a capo, ottenendo un rendering del testo ideale.

Per esempi e ulteriori informazioni, consulta <ruby> spezzato a riga e proprietà CSS ruby-align.

Promise.try

Promise.try semplifica la gestione degli errori con le promesse. Esiste un pattern in cui hai una funzione, f. Questa funzione può essere asincrona e restituire una promessa oppure no. Per utilizzare la semantica delle promesse per gestire gli errori in entrambi i casi, devi racchiudere la funzione in una promessa.

Un modo per farlo è con Promise.resolve().then(f), ma in questo caso f verrebbe eseguito inutilmente in modo asincrono al successivo tick.

Per evitare questo problema, devi utilizzare new Promise(resolve => resolve(f())), che non è affatto ergonomico.

Promise.try, è il modo semplice e diretto per ottenere lo stesso risultato. Ti consente di avviare una catena di promesse che intercetta tutti gli errori negli handler .catch anziché dover gestire i flussi di eccezione sia sincroni che asincroni.

Per scoprire di più, consulta la documentazione di Promise.try.

PointerEvent.deviceProperties per la creazione di inchiostri con più penne

Gli sviluppatori non avevano modo di distinguere tra due penne su un digitizer con inchiostro. L'attributo PointerEvent.pointerId esistente è implementato in modi diversi e non è sempre persistente per ogni tratto di inchiostro o interazione con lo schermo.

L'interfaccia PointerEvent è ora estesa per includere un nuovo attributo: deviceProperties. Contiene l'attributo uniqueId, che rappresenta un identificatore univoco persistente per la sessione e isolato dal documento che uno sviluppatore può utilizzare in modo affidabile per identificare i singoli pennelli che interagiscono con la pagina.

Con questa modifica puoi, ad esempio, impostare colori o forme di penna specifici per ogni dispositivo che interagisce con il digitizer.

Scopri come iniziare a utilizzare gli eventi del cursore in Indicazioni per il futuro.

E tanto altro.

Ovviamente ce ne sono molti altri.

  • La proprietà CSS zoom è ora in linea con lo standard più recente.

  • Gli errori di creazione e di rendering audio di AudioContext vengono ora segnalati tramite AudioContext.onerror.

  • Il riquadro Animazioni di DevTools ora acquisisce le animazioni e puoi modificare @keyframes in tempo reale.

Leggi le note di rilascio complete.

Per approfondire

Sono riportati solo alcuni punti salienti. Consulta i seguenti link per altre modifiche in Chrome 128.

Iscriviti

Per non perderti nessuna novità, iscriviti al canale YouTube di Chrome for Developers, e riceverai una notifica via email ogni volta che lanceremo un nuovo video.

Sono Adriana Jara e, non appena verrà rilasciato Chrome 128, sarò qui per raccontarti le novità di Chrome.