ОНОВЛЕННЯ
Схоже, оновлення Firefox до 46 виправляє проблему!
Оригінальні розслідування
Оскільки я також стикаюся з цією набридливою проблемою, я вирішив спробувати.
Конфігурація
- Ubuntu Server 12.4
- PHP 5.5.30
- MySQL 5.6.27
- Magento 2.0.4 свіжий встановити без зразка
- Режим розробника з вимкненим кешем
Повторне питання
На перший погляд, це питання мені виглядало абсолютно випадково. Однак після декількох тестів мені вдалося з’ясувати, як точно повторити проблему.
Веб-переглядач
По-перше, мені не вдалося скопіювати проблему на Google Chrome, Internet Explorer 11 або старий Windows Safari 5.2.17. Я в основному використовую FireFox (45.0.2) і рідко використовую Google Chrome. Навіть після того, як я точно знайшов, як повторити проблему, мені не вдалося повторити в Chrome.
Вкладки
На FireFox потрібно відкрити кілька вкладок, щоб можна було повторити проблему.
Кроки
- Відкрийте панель адміністратора та увійдіть у систему
- Щойно ви перебуваєте на приладовій панелі, ви можете натиснути будь-який пункт меню. Зазвичай я знову натискаю на піктограму приладної панелі
- Як тільки ви натиснули пункт меню, натисніть на одну з відкритих вкладок і продовжуйте переглядати Інтернет, поки ви чекаєте, поки панель адміністратора завершить завантаження (на основі піктограми обертання поруч із заголовком вкладки)
- Ну, на жаль, ти ніколи не завантажиш цю сторінку.
Розслідування
Так виглядає, що коли клієнт не зосереджений на вкладці Панелі адміністратора, Magento 2, схоже, не завантажує всі ресурси для веб-сайту, щоб повністю завантажуватися .
Що я помітив, коли я повернувся на сторінку нескінченного завантаження панелі адміністратора, - це те, що було багато успішно завантажених ресурсів.
Як сказав Фабіан, жодної помилки в консолі, жодних ресурсів все ще не завантажується і жодних ресурсів, які не вдалося завантажити. Все виглядало так, що сторінка закінчується завантаженням.
Однак, натиснувши кнопку зупинки завантаження Firefox (X у рядку URL-адрес), я помітив, що на вкладці мережі було додано кілька ресурсів, яких тут не було, коли сторінка знаходилась у нескінченному стані завантаження
УВАГА: Примітка: знімок екрана нижче призначений лише для інформаційної панелі. Я помітив, що більше ресурсів було завантажено після натискання кнопки зупинки завантаження на сторінках конфігурації.
Отже, на сторінці інформаційної панелі ці ресурси були додані після того, як я натиснув кнопку зупинки завантаження.
Коли сторінка завантажується нормально, не переходячи на іншу вкладку, наступні ресурси завантажуються після завантаження DOM (я припускаю через AJAX), ви можете помітити товстішу сіру лінію між ними та вищевказаними ресурсами:
Тому чомусь такі ресурси автоматично завантажуються, коли сторінка знаходиться у нескінченному стані завантаження, але завантажуються після завантаження DOM, коли сторінка завантажується добре:
/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
Ось як далеко я взявся за своє завдання налагодження, я вважаю, що є ще багато, що ми можемо зробити, щоб перевірити і звузити проблему, але я не встиг зробити більше тестів, я повернусь до неї, коли встигну.
Подальші розслідування
Тож я закінчив встановити плагін HTTPFox на свій FireFox.
Ось що я отримав, коли натиснув кнопку зупинки завантаження після 1 хвилини завантаження (ви можете бачити, що jquery.storageapi.min.js
в стовпці часу є 59s). Виділені рядки - це ресурси, які завантажуються після того, як я припинив завантаження:
Я спробував оновити бібліотеку jquery.storageapi до останньої версії, доступної на GitHub, але, на жаль, це, на жаль, не вирішує проблему.
Оскільки завантаження favicon було наступним у списку, я прокоментував код, який додав favicon до голови, але він також не вирішив проблему.
Я спробував налагодити domReady.js
файл, оскільки його ім'я звучить так, що це може бути помилка, але немає шансів.
Ось два access.log
файли:
Досі не можу зрозуміти, що тут відбувається.
Оновлення
Нещодавно я змінив свою установку:
- оновити FireFox до 46.0
- оновлення з 2.0.4 до 2.0.5
Тепер я більше не можу повторити проблему.