AGGIORNARE
Sembra che l'aggiornamento di Firefox a 46 risolva il problema!
Indagini originali
Dato che sto affrontando anche questo fastidioso problema, ho deciso di provarlo.
Configurazione
- Ubuntu Server 12.4
- PHP 5.5.30
- MySQL 5.6.27
- Magento 2.0.4 nuova installazione senza campione
- Modalità sviluppatore con cache disabilitata
Replica del problema
A prima vista, questo problema mi è sembrato del tutto casuale. Tuttavia, dopo diversi test, sono riuscito a scoprire esattamente come replicare il problema.
Browser
Innanzitutto, non sono stato in grado di replicare il problema su Google Chrome, Internet Explorer 11 né sul vecchio Windows Safari 5.2.17. Uso principalmente FireFox (45.0.2) e uso raramente Google Chrome. Anche dopo aver scoperto esattamente come replicare il problema, non sono stato in grado di replicare su Chrome.
Tabs
Devi avere diverse schede aperte su FireFox per poter replicare il problema.
passi
- Apri il pannello di amministrazione e accedi
- Una volta che sei nella dashboard puoi fare clic su qualsiasi voce di menu. Di solito faccio di nuovo clic sull'icona del dashboard
- Non appena si fa clic sulla voce di menu, fare clic su una delle schede aperte e continuare a navigare in Internet mentre si attende che il pannello di amministrazione termini il caricamento (in base all'icona che gira accanto al titolo della scheda)
- Beh, sfortunatamente non avrai mai caricato quella pagina.
Indagine
Quindi sembra che quando il client non è focalizzato sulla scheda del Pannello di amministrazione, Magento 2 sembra non caricare tutte le risorse affinché il sito Web si carichi completamente .
Quello che ho notato, quando sono tornato alla pagina del pannello di amministrazione di caricamento infinito è che c'erano molte risorse che sono state caricate con successo.
Come ha detto Fabian, nessun errore nella console, nessuna risorsa è ancora in fase di caricamento e nessuna risorsa che non è stata caricata. Sembrava che il caricamento della pagina fosse completo.
Tuttavia, quando ho fatto clic sul pulsante Interrompi caricamento di Firefox (la X nella barra degli URL), ho notato che nella scheda di rete sono state aggiunte diverse risorse che non erano presenti quando la pagina si trovava nello stato di caricamento infinito
NOTA BENE: lo screenshot seguente è solo per la dashboard, ho notato che sono state caricate più risorse dopo aver fatto clic sul pulsante di interruzione del caricamento nelle pagine di configurazione, ad esempio.
Quindi, per la pagina Dashboard, queste risorse sono state aggiunte dopo che ho fatto clic sul pulsante Interrompi caricamento.
Quando la pagina viene caricata normalmente, non passando a un'altra scheda, le seguenti risorse vengono caricate dopo il caricamento del DOM (presumo tramite AJAX), è possibile notare la linea grigia più spessa tra quelle e le risorse sopra:
Pertanto, per qualche motivo, le seguenti risorse vengono caricate automaticamente quando la pagina si trova nello stato di caricamento infinito, ma vengono caricate dopo il caricamento DOM quando la pagina viene caricata correttamente:
/static/adminhtml/Magento/backend/en_US/Magento_Ui/templates/modal/modal-popup.html
/static/adminhtml/Magento/backend/en_US/Magento_Ui/templates/modal/modal-slide.html
/static/adminhtml/Magento/backend/en_US/Magento_Ui/templates/modal/modal-custom.html
/static/adminhtml/Magento/backend/en_US/mage/apply/scripts.js
È quanto mi sono avvicinato al mio compito di debug, penso che ci sia ancora molto che possiamo fare per testare e restringere il problema, ma non ho avuto il tempo di fare altri test, tornerò su di esso quando avrò tempo.
Ulteriori indagini
Così ho finito per installare il plugin HTTPFox sul mio FireFox.
Ecco cosa ho ottenuto facendo clic sul pulsante Interrompi caricamento dopo 1 minuto di caricamento (puoi vedere che jquery.storageapi.min.js
ha 59 secondi nella colonna del tempo). Le righe evidenziate sono le risorse che sono state caricate dopo che ho interrotto il caricamento:
Ho provato ad aggiornare la libreria jquery.storageapi con l'ultima versione disponibile su GitHub ma purtroppo non sembra risolvere il problema.
Dato che il caricamento di favicon era il prossimo nella lista, ho commentato il codice aggiungendo il favicon alla testa ma non ha risolto il problema.
Ho provato a eseguire il debug del domReady.js
file poiché il suo nome sembra che potrebbe essere colpa ma nessuna possibilità.
Anche qui ci sono i due access.log
file:
Non riesco ancora a capire cosa sta succedendo qui.
Aggiornare
Di recente ho apportato due modifiche alla mia installazione:
- aggiorna FireFox alla 46.0
- aggiornamento da 2.0.4 a 2.0.5
Ora non riesco più a replicare il problema.