Posticipare l'esecuzione di uno script
Autore: Michela P.
Visite 3180,
Followers 2,
Condiviso 0
Salve a tutti.
PageSpeed Insight consiglia di incorporare o ritardare il caricamento di alcuni file javascript.
Esiste un modo per inserire qualcosa del tipo <script async src="my.js"> oppure altri suggeriscono <scriptsrc="sample.js"defer></script>?
Dovrei modificare il codice ma se reinserisco il codice prima della chiusura dell'head mi duplica gli script...
Qualcuno ha idee o suggerimenti?
Postato il
... prova a vedere questo esempio che chiude dopo 4" con la funzione chiudi2() che richiama la funzione chudi():
http://www.zspace.it/kolasim/div_custom/divcustomK_chiusuraAutomatica.html
.
ciao
Autore
Ciao, che rapidità..
Dunque io devo lavorare con una di queste ipotesi:
Francamente non saprei quale può essere meglio per posticipare i 3 js generati dal WS (xcart,jquery e xengine) che dovrebbero essere posticipati. Forse il primo..
Il problema è che non so come modificare il codice generato automaticamente aggiungendo ad esempio l'attributo async.
Non so se funziona vorrei fare dei tentativi..
leggi anche qui:
https://helpcenter.websitex5.com/post/138642#1
che poi è lo stesso di KolAsim....
Autore
Ciao Mirko, vorrei evitare il timeout e usare uno dei metodi indicati sopra. Google consiglia di incorporare o di utilizzare l'attributo HTML asincrono durante il caricamento del file JavaScript.
Per fare ciò che chiedi, con WebSite, puoi provare ad aggiungere gli attributi con JS/jQuery. Il post editing è sconsigliato per ovvi e ormai vecchi motivi.
Comunque, per la 3a ipotesi, il file x5cart.js è già vicino a </body>
Non so se funzioni e non so, nel caso funzionasse, se avrà ripercussioni sul caricamento degli altri elementi che compongono la pagina.
setTimeout() è un metodo ed è stato inventato decenni fa:
http://www.w3schools.com/jsref/met_win_settimeout.asp
Autore
Ciao Lemon, speravo proprio in te.
Tuttavia.
Cosa intendi? In che modo? Non ho capito...
Il post editing è sconsigliato per ovvi e ormai vecchi motivi.
Escluso
Comunque, per la 3a ipotesi, il file x5cart.js è già vicino a </body>
Non nel mio caso, nella versione desktop.
Non so se funzioni e non so, nel caso funzionasse, se avrà ripercussioni sul caricamento degli altri elementi che compongono la pagina.
Per questo vorrei provare. Si tratterebbe di posticipare o di caricare contemporaneamente i contenuti above the fold.
Attendo commenti,
grazie
Autore
La modifica in sè sarebbe molto semplice. Ho provato ad aggiungere l'attributo async nel tag degli script incriminati ottenendo un grande miglioramento. Naturalmente via ftp.. Non esiste un modo per fare questa modifica evitando il post editing?
Nel tuo caso JS non credo possa funzionare.
Ho provato ad aggiungere l'attributo async nel tag degli script incriminati ottenendo un grande miglioramento.
Se non hai riscontrato controindicazioni, temo che dovrai cercare nei linguaggi lato server oppure provare ad installare PageSpeed Module su server (Apache)... sempre che ne valga la pena.
Autore
Non conoscevo e ho preso un po' di informazioni. Perchè non dovrebbe valerne la pena?
intendevo dire lo stesso postato più sopra nel suo link...
Autore
Vabbè cmq senza post editare mi par di capire che è impossibile....
Un altro suggerimento è quello di provare ad usare/adattare uno script tipo quello scritto da serzio un po' di tempo fa per rimuovere il meta tag generator: http://www.unofficialwsx5.com/index.php?topic=354.0
Se ciò fosse possibile, dovrai attendere chi ti possa dare una mano o dare altre soluzioni simili.
Ho inteso bene, per questo ho postato il link.
Tradotto: per fare una determinata cosa ci sono vari modi, a volte sono pochi, a volte di più.
... scusami, ma non ho ben capito cosa vorresti ottenere non conoscendo le tue funzioni, però, basandomi sulle idee, mi domando, se l'esecuzione del tuo script modificato lo eseguissi a fondo pagina, funzionerebbe...?...
... prova in post editazione, magari direttamente in linea, e se funzionasse, allora avresti risolto potendo ottenere lo stesso risultato senza dover post editare...
... ci sarebbe anche un altro metodo, poco ortodosso!, quello di non far eseguire l'HEAD, assegnando tutte le dichiarazioni a fondo pagina, ma che funzionerebbe con massimo controllo...
.
ciao
Autore
Mah, ci smanetto un po'... però rischio di farmi passare il mal di testa dandomi una botta al ginocchio
Tradotto: per fare una determinata cosa ci sono vari modi, a volte sono pochi, a volte di più.
mmm una traduzione un po' libera...
Ok, ho dato per scontato alcune cose. Sono "funzioni" generate da WS, introdotte nel codice in automatico. La mia richiesta nasce dall'analisi del sito effettuata con PageSpeed Insights e da questa cercando di ottenere quanto suggerito google developers https://developers.google.com/speed/docs/insights/BlockingJS
Questa è l'indicazione:
Rimuovi il codice JavaScript che blocca la visualizzazione:
L'attributo async può funzionare nel secondo dei casi. Nel primo blocca l'esecuzione di alcune funzioni per le quali conviene adottare un diverso sistema (come suggerisce la guida stessa).
mi domando, se l'esecuzione del tuo script modificato lo eseguissi a fondo pagina, funzionerebbe...?...
... prova in post editazione, magari direttamente in linea, e se funzionasse, allora avresti risolto potendo ottenere lo stesso risultato senza dover post editare...
Provo, ma non vedo come posso farlo senza post editare
... ci sarebbe anche un altro metodo, poco ortodosso!, quello di non far eseguire l'HEAD, assegnando tutte le dichiarazioni a fondo pagina, ma che funzionerebbe con massimo controllo...
Temo che sia un po' eccessivo per ottenere un miglioramento di pochi punti percentuali... Peraltro vorrei cercare di rimanere nell'ambito dei suggerimenti indicati nella guida di google developers.
Tutto ciò detto, naturalmente devo capire quanto e se ne vale la pena. Ci sono altre aree sulle quali è possibile intervenire ma questa, per i dispositivi mobili in particolare, sembra essere una area critica (rossa "Soluzioni da implementare").
Vi ringrazio per i suggerimenti e spero di essermi spiegata meglio e di avere eventualmente fornito dettagli utili per ulteriori approfondimenti/considerazioni.
Eh sì, non è venuta tanto bene.
Suona tipo: "è la somma che fa il totale"
... sei troppo avanti e ne sai molto più di me, ...però, anche se sono senza programmi, forse! e secondo me sarebbe possibile...
... la mia IDEA, aleatoria, e la verificherai tu, consisterebbe nel nominare la/le pagina/e in PHP...
... inserire all'inizio della sezione HEAD (la seconda selezione: Dopo l'apertura del tag HEAD), il tag di apertura PHP con apertura per stringhe di commento:
<?php /* inizio commento...
... inserire alla fine della sezione HEAD (la terza selezione: Prima della chiusura del tag HEAD), la chiusura per stringhe di commento con il tag di chiusura PHP:
...fine commento */ ?>
... da qui in poi puoi replicare ed aggiungere tutte le dichiarazioni in HEAD ed aggiungere definitivamente i tuoi SCRIPT senza dover post editare...
...
...!... ovviamente è una supposizione campata in aria! come detto, non avendo io programmi!, ma se funzionasse, in teoria potrebbe e lo potrai dire tu, allora sarebbe l'Uovo di Colombo...!...
.
ciao
Autore
nominare la/le pagina/e in PHP...
Oh my gosh ...
... inserire all'inizio della sezione HEAD (la seconda selezione: Dopo l'apertura del tag HEAD), il tag di apertura PHP con apertura per stringhe di commento:
<?php /* inizio commento...
... inserire alla fine della sezione HEAD (la terza selezione: Prima della chiusura del tag HEAD), la con chiusura per stringhe di commento con il tag di chiusura PHP:
...fine commento */ ?>
... da qui in poi puoi replicare ed aggiungere tutte le dichiarazioni in HEAD ed aggiungere definitivamente i tuoi SCRIPT senza dover post editare...
...
Nulla da eccepire! Oserei dire geniale. Mi chiedo sempre davvero come fai!
...!... ovviamente è una supposizione campata in aria! come detto, non avendo io programmi!, ma se funzionasse, in teoria potrebbe e lo potrai dire tu, allora sarebbe l'Uovo di Colombo...!...
Ok, posso fare il tentativo... ma non so quali possono essere le conseguenze nel modificare la/le pagina/e
Ragazzi siete davvero una inesauribile risorsa tecnica e creativa. Ecco perchè attendo con fiducia un'altra soluzione
Volevo informarvi che non posso installare PageSpeed Module . Mi hanno proposto un VPS ma sinceramente per me è un salto nel buio...
Grazie Kol e grazie lemon. Se vi viene in mente altro ... ditemelo!!