ОБНОВИТЬ
Похоже, что обновление 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), я заметил, что на вкладке сети было добавлено несколько ресурсов, которых не было, когда страница находилась в состоянии бесконечной загрузки.
ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: приведенный ниже снимок экрана предназначен только для панели инструментов. Я заметил, что после нажатия кнопки «Остановить загрузку» на страницах конфигурации было загружено больше ресурсов.
Так что для страницы Dashboard эти ресурсы были добавлены после того, как я нажал кнопку остановки загрузки.
Когда страница загружается нормально, не переключаясь на другую вкладку, следующие ресурсы загружаются после загрузки 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
в столбце времени есть 59 секунд). Выделенные строки - это ресурсы, загруженные после того, как я остановил загрузку:
Я попытался обновить библиотеку jquery.storageapi до последней версии, доступной на GitHub, но она, к сожалению, не решает проблему.
Поскольку загрузка фавиконов была следующей в списке, я прокомментировал код, добавив фавикон в заголовок, но это также не решило проблему.
Я попытался отладить domReady.js
файл, так как его имя звучит так, как будто оно может быть ошибкой, но без шансов.
Также вот два access.log
файла:
До сих пор не могу понять, что здесь происходит.
Обновить
Недавно я сделал два изменения в моей установке:
- обновить FireFox до 46.0
- обновить с 2.0.4 до 2.0.5
Теперь я не могу больше повторять проблему.