Novità di DevTools (Chrome 70)

Siamo felici di rivederti. Sono trascorse circa 12 settimane dal nostro ultimo aggiornamento, relativo a Chrome 68. Abbiamo saltato Chrome 69 perché non avevamo abbastanza nuove funzionalità o modifiche alla UI da pubblicare.

Le nuove funzionalità e i principali cambiamenti che verranno introdotti in DevTools in Chrome 70 includono:

Continua a leggere o guarda la versione video di questo documento:

Espressioni dal vivo nella console

Blocca un'espressione dal vivo nella parte superiore della console quando vuoi monitorarne il valore in tempo reale.

  1. Fai clic su Crea espressione dal vivo Crea espressione dal vivo. Si apre l'interfaccia utente di Live Expression.

    UI Espressione live

    Figura 1. UI Espressione live

  2. Digita l'espressione che vuoi monitorare.

    Digitazione di Date.now() nell'interfaccia utente Espressione live.

    Figura 2. Digita Date.now() nell'interfaccia utente Espressione dal vivo.

  3. Fai clic all'esterno dell'interfaccia utente Espressione live per salvare l'espressione.

    Un'espressione dal vivo salvata.

    Figura 3. Un'espressione dal vivo salvata

I valori dell'espressione in tempo reale vengono aggiornati ogni 250 millisecondi.

Evidenziare i nodi DOM durante la valutazione Eager

Digita un'espressione che valuta un nodo DOM nella console e la valutazione Eager ora evidenzia quel nodo nell'area visibile.

Dopo aver digitato document.activeElement nella console, viene evidenziato un nodo nell'area visibile.

Figura 4. Poiché l'espressione corrente restituisce un nodo, questo viene evidenziato nell'area visibile

Di seguito sono riportate alcune espressioni che potrebbero esserti utili:

  • document.activeElement per evidenziare il nodo attualmente attivo.
  • document.querySelector(s) per evidenziare un nodo arbitrario, dove s è un selettore CSS. Equivale al passaggio del mouse sopra un nodo nell'albero DOM.
  • $0 per evidenziare qualsiasi nodo attualmente selezionato nell'albero DOM.
  • $0.parentElement per evidenziare il nodo padre del nodo attualmente selezionato.

Ottimizzazioni del riquadro del rendimento

Durante la profilazione di una pagina di grandi dimensioni, in precedenza il riquadro Rendimento impiegava decine di secondi per elaborare e visualizzare i dati. A volte il caricamento di un evento richiedeva anche più secondi per avere ulteriori informazioni nella scheda Riepilogo. L'elaborazione e la visualizzazione sono più veloci in Chrome 70.

Elaborazione e caricamento dei dati sul rendimento.

Figura 5. Elaborazione e caricamento dei dati sul rendimento

Debug più affidabile

Chrome 70 corregge alcuni bug che causavano la scomparsa o la mancata attivazione dei punti di interruzione.

Risolve anche i bug relativi alle mappe di origine. Alcuni utenti di TypeScript indicavano a DevTools di ignorare un determinato file TypeScript mentre eseguivano la scansione del codice e DevTools ignorava l'intero file JavaScript in bundle. Queste correzioni risolvono anche un problema che causava generalmente una lenta esecuzione del riquadro Origini.

Attiva la limitazione della rete dal menu Comando

Ora puoi impostare la limitazione della rete su 3G veloce o 3G lento dal menu Comandi.

Comandi di limitazione della rete nel menu Comandi.

Figura 6. Comandi di limitazione della rete nel menu Comandi

Punti di interruzione condizionali con completamento automatico

Utilizza l'interfaccia utente di completamento automatico per digitare più velocemente le espressioni di punto di interruzione condizionale.

L'interfaccia utente di completamento automatico

Figura 7. L'interfaccia utente di completamento automatico

Lo sapevi? L'interfaccia utente di Autocomplete è possibile grazie a CodeMirror, che è alla base anche della console.

Interruzione degli eventi AudioContext

Utilizza il riquadro Punti di interruzione listener di eventi per fare una pausa nella prima riga di un gestore di eventi del ciclo di vita AudioContext.

AudioContext fa parte dell'API Web Audio, che puoi utilizzare per elaborare e sintetizzare l'audio.

Eventi AudioContext nel riquadro Punti di interruzione listener di eventi.

Figura 8. Eventi AudioContext nel riquadro Punti di interruzione listener di eventi

Debug delle app Node.js con ndb

ndb è un nuovo debugger per le applicazioni Node.js. Oltre alle consuete funzionalità di debug disponibili tramite DevTools, ndb offre anche:

  • Rilevamento e collegamento ai processi figlio.
  • È necessario posizionare i punti di interruzione prima dei moduli.
  • Modifica dei file nell'interfaccia utente di DevTools.
  • Per impostazione predefinita, tutti gli script al di fuori della directory di lavoro corrente vengono ignorati.

UI ndb.

Figura 9. UI ndb

Per saperne di più, consulta il file README di ndb.

Suggerimento extra: misura le interazioni degli utenti del mondo reale con l'API User Timing

Vuoi misurare quanto tempo impiegano gli utenti reali a completare percorsi critici sulle tue pagine? Potresti instrumentare il tuo codice con l'API User Timing.

Ad esempio, supponi di voler misurare il tempo che un utente trascorre sulla tua home page prima di fare clic sul pulsante di invito all'azione. Innanzitutto, devi contrassegnare l'inizio del percorso in un gestore di eventi associato a un evento di caricamento pagina, come DOMContentLoaded:

document.addEventListener('DOMContentLoaded', () => {
  window.performance.mark('start');
});

Quindi, devi segnare la fine del percorso e calcolarne la durata quando fai clic sul pulsante:

document.querySelector('#CTA').addEventListener('click', () => {
  window.performance.mark('end');
  window.performance.measure('CTA', 'start', 'end');
});

Puoi anche estrarre le misurazioni, inviandole facilmente al tuo servizio di analisi per raccogliere dati anonimi e aggregati:

const CTA = window.performance.getEntriesByName('CTA')[0].duration;

DevTools esegue automaticamente il markup delle misurazioni del tempo utente nella sezione Tempi utenti delle registrazioni del rendimento.

La sezione Tempi utenti.

Figura 10. La sezione Tempi utenti

Questo è utile anche durante il debug o l'ottimizzazione del codice. Ad esempio, se vuoi ottimizzare una determinata fase del ciclo di vita, chiama window.performance.mark() all'inizio e alla fine della funzione del ciclo di vita. React lo fa in modalità di sviluppo.

Scarica i canali in anteprima

Prendi in considerazione l'utilizzo di Chrome Canary, Dev o beta come browser di sviluppo predefinito. Questi canali in anteprima ti consentono di accedere alle funzionalità di DevTools più recenti, di testare le API per piattaforme web all'avanguardia e di individuare eventuali problemi sul tuo sito prima che lo facciano gli utenti.

Contattare il team di Chrome DevTools

Utilizza le opzioni seguenti per discutere delle nuove funzionalità e delle modifiche nel post o di qualsiasi altra cosa relativa a DevTools.

  • Inviaci un suggerimento o un feedback tramite crbug.com.
  • Segnala un problema DevTools utilizzando Altre opzioni   Altre   > Guida > Segnala i problemi di DevTools in DevTools.
  • Tweet all'indirizzo @ChromeDevTools.
  • Lascia commenti sui video di YouTube o sui suggerimenti di DevTools in DevTools Video di YouTube.

Novità di DevTools

Un elenco di tutti gli argomenti trattati nella serie Novità di DevTools.

Chrome 123

Chrome 122

Guida introduttiva di Chrome

Chrome 120

Chrome 119

Chrome 118

Chrome 117

Chrome 116

Versione 115 di Chrome

Chrome 114

Chrome 113

Chrome 112

Guida introduttiva di Chrome

Versione 110 di Chrome

Guida introduttiva di Chrome

Guida introduttiva di Chrome

Guida introduttiva di Chrome

Guida introduttiva di Chrome

Guida introduttiva di Chrome

Guida introduttiva di Chrome

Guida introduttiva di Chrome

Guida introduttiva di Chrome

Guida introduttiva di Chrome

Guida introduttiva di Chrome

Chrome 99

Chrome 98

Chrome 97

Chrome 96

Chrome 95

Chrome 94

Chrome 93

Chrome 92

Chrome 91

Chrome 90

Chrome 89

Chrome 88

Chrome 87

Chrome 86

Chrome versione 85

Chrome 84

Chrome 83

Chrome 82

Chrome 82 è stato annullato.

Chrome 81

Chrome versione 80

Chrome 79

Chrome 78

Chrome 77

Chrome 76

Chrome 75

Chrome 74

Chrome 73

Chrome 72

Chrome 71

Chrome 70

Chrome 68

Chrome 67

Chrome 66

Chrome versione 65

Chrome 64

Chrome 63

Chrome 62

Chrome 61

Chrome 60

Chrome 59