Lavorare in un'azienda che carica tutto il javascript alla fine del caricamento della pagina. Questo significa che non posso fare $(document).ready()
sulla mia pagina, perché jquery non è caricato (gli script sono iniettati nel footer da qualche template o altro). Sono perplesso su come affrontare questo. Ho una pagina in cui voglio eseguire una funzione in uno script, ma lo script è caricato per ultimo. Se creo un caso per spostare lo script (i) in <head>
, dovrò fare un argomento convincente per questo.
Ho esaminato il codice corrente e ogni pagina esegue una serie di metodi dopo che gli script sono stati dichiarati nel footer, che controllano ciascuno di essi sulla pagina pertinente e, in caso affermativo, eseguono. Quindi verrà eseguito ad esempio formatSearchResults()
che controlla se siamo nella pagina SearchResults e in tal caso farà alcuni javascript, renderLoginPage()
, setupProfilePage()
ecc. Ecc. Ripeti questo uno per uno per ogni pagina che richiede javascript nella soluzione. Mi sembra una cattiva idea.
Storicamente posso forse capire perché, perché il download di tonnellate di script blocca il caricamento della pagina. Ma di questi tempi non riesco a capire perché questo sia un problema.
- Gli script sono piccoli e caricano molto velocemente.
- Una volta caricato lo script, non lo scarica di nuovo (a meno che non cambi) poiché il server chiede semplicemente al server web se il file è stato modificato.
- Le librerie javascript complesse per la manipolazione della pagina come JQuery, ecc. non esistevano allora.
- Le pagine sono molto più complesse al giorno d'oggi e javascript è generalmente utilizzato per il rendering e lo styling della pagina, piuttosto che essere qualcosa che aggiunge magia dietro le quinte alla fine.
Se devo mettere le chiamate per eseguire il mio codice desiderato nel footer, possibilmente tramite un meccanismo di callback complesso, in realtà gli script non vengono caricati nel footer e ho solo due corpi.
Mi chiedo se qualcuno potrebbe far luce su questo, e spiegare se sono mal guidato, mi manca qualcosa, se c'è dell'altro, ecc.