Migliorare le prestazioni di scorrimento con i listener di eventi passivi
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
I listener di eventi passivi sono una novità di Chrome 51, uno standard web emergente che fornisce un potenziale miglioramento delle prestazioni di scorrimento, in particolare sui dispositivi mobili. Guarda il video qui sotto per una demo dei miglioramenti in azione:
Come funziona
Quando scorri una pagina, si parla di un ritardo tale che la pagina non risulta ancorata al tuo dito. Molte volte, quando si verifica un
jank di scorrimento, il colpevole è un listener di eventi touch. I listener di eventi touch sono spesso utili per monitorare le interazioni degli utenti e creare esperienze di scorrimento personalizzate, ad esempio per annullare completamente lo scorrimento quando si interagisce con una mappa Google incorporata.
Attualmente, i browser non sono in grado di sapere se un listener di eventi touch annullerà lo scorrimento, quindi attendono sempre che il listener termini prima di scorrere la pagina.
I listener di eventi passivi risolvono questo problema consentendo di impostare un flag nel parametro options
di addEventListener
per indicare che il listener non annullerà mai lo scorrimento. Queste informazioni consentono ai browser di scorrere la pagina
immediatamente, anziché dopo la fine del listener.
Scopri di più
Consulta il blog di Chromium per una panoramica generale sul funzionamento dei listener di eventi passivi:
Nuove API per aiutare gli sviluppatori a migliorare le prestazioni di scorrimento
E il repository della specifica per scoprire come implementare i listener di eventi passivi:
Messaggio esplicativo del listener di eventi passivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2016-06-05 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Mancano le informazioni di cui ho bisogno"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Troppo complicato/troppi passaggi"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Obsoleti"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Problema di traduzione"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Problema relativo a esempi/codice"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Altra"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Facile da capire"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Il problema è stato risolto"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Altra"
}]
{"lastModified": "Ultimo aggiornamento 2016-06-05 UTC."}
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2016-06-05 UTC."],[],[]]