ACTUALIZAR
Parece que actualizar Firefox a 46 soluciona el problema.
Investigaciones originales
Como también me enfrento a este molesto problema, decidí intentarlo.
Configuración
- Ubuntu Server 12.4
- PHP 5.5.30
- MySQL 5.6.27
- Instalación reciente de Magento 2.0.4 sin muestra
- Modo desarrollador con caché deshabilitado
Replicando el problema
A primera vista, este problema me pareció totalmente aleatorio. Sin embargo, después de varias pruebas, logré averiguar exactamente cómo replicar el problema.
Navegador
Primero, no he podido replicar el problema en Google Chrome, Internet Explorer 11 ni en el viejo Windows Safari 5.2.17. Principalmente estoy usando Firefox (45.0.2) y rara vez uso Google Chrome. Incluso después de haber encontrado exactamente cómo replicar el problema, no he podido hacerlo en Chrome.
Pestañas
Debes tener varias pestañas abiertas en Firefox para poder replicar el problema.
Pasos
- Abra el panel de administración e inicie sesión
- Una vez que esté en el tablero, puede hacer clic en cualquier elemento del menú. Normalmente hago clic en el icono del tablero nuevamente
- Tan pronto como haya hecho clic en el elemento del menú, haga clic en una de las pestañas abiertas y siga navegando en Internet mientras espera que el panel de administración termine de cargarse (según el icono giratorio junto al título de la pestaña)
- Bueno, desafortunadamente nunca cargarás esa página.
Investigación
Entonces parece que cuando el cliente no está enfocado en la pestaña del Panel de administración, Magento 2 parece no cargar todos los recursos para que el sitio web se cargue por completo .
Lo que noté cuando volví a la página del panel de administración de carga infinita es que había muchos recursos que se cargaron con éxito.
Como dijo Fabian, no hay error en la consola, no se siguen cargando recursos ni recursos que no se hayan podido cargar. Todo parecía que la página había terminado de cargarse.
Sin embargo, cuando hice clic en el botón de detener la carga de Firefox (la X en la barra de URL), noté que se agregaron varios recursos en la pestaña de red que no estaban aquí cuando la página estaba en el estado de carga infinita
TENGA EN CUENTA: la captura de pantalla a continuación es solo para el tablero, noté que se cargaron más recursos después de hacer clic en el botón de detener la carga en las páginas de configuración, por ejemplo.
Entonces, para la página Panel, esos recursos se agregaron después de hacer clic en el botón de detener la carga.
Cuando la página se carga normalmente, al no cambiar a otra pestaña, los siguientes recursos se cargan después de la carga DOM (supongo que a través de AJAX), puede notar la línea gris más gruesa entre esos y los recursos anteriores:
Entonces, por alguna razón, los siguientes recursos se cargan automáticamente cuando la página está en el estado de carga infinita, pero se cargan después de la carga DOM cuando la página se carga bien:
/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
Así de lejos llegué a mi tarea de depuración, creo que todavía hay mucho que podemos hacer para probar y reducir el problema, pero no tuve tiempo para hacer más pruebas, volveré a hacerlo cuando tenga tiempo.
Investigaciones más profundas
Así que terminé instalando el complemento HTTPFox en mi FireFox.
Esto es lo que obtuve cuando hice clic en el botón de detener la carga después de 1 minuto de carga (puede ver que jquery.storageapi.min.js
tiene 59 segundos en la columna de tiempo). Las filas resaltadas son los recursos que se cargaron después de que detuve la carga:
Intenté actualizar la biblioteca jquery.storageapi con la última versión disponible en GitHub, pero desafortunadamente no parece solucionar el problema.
Como la carga de favicon era la siguiente en la lista, comenté el código que agregaba el favicon a la cabeza, pero tampoco solucionó el problema.
Traté de depurar el domReady.js
archivo ya que su nombre parece que podría ser la culpa pero no hay posibilidad.
También aquí están los dos access.log
archivos:
Todavía no puedo entender qué está pasando aquí.
Actualizar
Recientemente realicé dos cambios en mi instalación:
- actualizar FireFox a 46.0
- actualizar de 2.0.4 a 2.0.5
Ahora ya no puedo replicar el problema.