Un utente ha chiesto
Categoria: Akismet Spam Protection di WordPress
Domanda: Akismet: Carica il tuo JavaScript con un differito, non in modo asincrono
Ciao squadra Akismet,
Grazie per questo fantastico plugin! Sto ottimizzando il mio sito e vorrei aiutare a migliorare Akismet. Questo plugin attualmente effettua la seguente richiesta per caricare un file JavaScript:
<script async="async" src='.../wp-content/plugins/akismet/_inc/form.js?ver=4.1.9' id='akismet-form-js'></script>
Il plugin ha quindi codificato il async
attributo lì dentro. È sicuramente meglio che non usare nulla.
Le due async
e defer
caricherà il file JS in modo asincrono, ma usando async
interromperà la scansione per eseguire il JavaScript caricato, durante l’utilizzo defer
Non va bene.
Insieme a defer
, lo script verrà caricato in background e quindi eseguito quando il DOM sarà completamente compilato. pertanto defer
è sicuramente il migliore da usare quando possibile.
Il problema è che non puoi rinviare uno script che è già stato asincrono (come con Akismet). Se provi a specificare entrambi (come aggiungere un plugin di ottimizzazione defer
), quindi il browser darà sempre async
priorità più alta, ignorando così il defer
.
Quindi tutto questo per dire che per una migliore ottimizzazione e velocità di caricamento della pagina, se il plugin Akismet viene rimosso async
e usato defer
invece, sarebbe un risultato migliore. ??
https://flaviocopes.com/javascript-async-defer/
https://javascript.info/script-async-defer
https://stackoverflow.com/questions/10808109/script-tag-async-defer
E il defer
L’attributo ha un supporto browser molto ampio:
https://caniuse.com/script-defer
Grazie!
PS – Per favore minimizza anche il tuo file JavaScript mentre ci sei. Divertirsi!
-
Autore del plugin
(@finke)
Poiché form.js è incluso quasi immediatamente prima del tag body di chiusura, il passaggio da async a differire probabilmente non avrà molto effetto (se non del tutto), ma eseguirò alcuni test questa settimana e apporterò questa modifica finché non ci sono conseguenze indesiderate. Grazie per i commenti!
(@ roam92)
Ottimo: grazie mille per la tua rapida risposta, @cfinke!
Non vedo come cambiare per
defer
potrebbe far male, poiché verrà comunque caricato in modo asincrono e non vi è alcun rischio di interrompere la scansione del browser per eseguire il file una volta caricato…Inoltre, pensi di poter minimizzare il file JS se ne hai la possibilità? Ciò consentirebbe di risparmiare 100 GB di larghezza di banda durante il caricamento del file, il che non è una tonnellata, ma si aggiunge sicuramente quando si moltiplica per oltre 5 milioni di siti Web!
Grazie ancora.
Autore del plugin
(@finke)
Ho fatto il passaggio a
defer
in https://plugins.trac.wordpress.org/changeset/2531878/Per quanto riguarda la minificazione, la rimanderò per ora, poiché penso che il valore per gli utenti finali di essere in grado di leggere facilmente Akismet JavaScript e vedere cosa fa superi il risparmio di larghezza di banda che porta la minificazione.
(@ roam92)
Wow, piacere di sentirlo – grazie mille, Christopher!
Apprezzo molto il tuo aiuto con il feedback e il miglioramento delle prestazioni.
Saluti
Hai risolto il tuo problema?
0 / 0