С тех пор, как я работал с Magento 2, у меня постоянно возникала эта досадная проблема:
- Я вхожу в панель администратора или переключаюсь на другую страницу в панели администратора
- Страница начинает загружаться, иногда появляется частично, но затем зависает навсегда (по крайней мере, на несколько минут), иногда она отображается полностью, но браузер по-прежнему показывает «загрузка», и навигация не работает, но я не вижу сбой или работает запросы в консоли браузера.
- Если я нажимаю, F5пока он висит, страница загружается почти мгновенно (по крайней мере, большую часть времени)
Похоже, это не связано с какими-либо событиями, потому что я получаю такое поведение даже без внесения каких-либо изменений в админ-панели или в коде, просто навигация. Однако я наблюдал возможную корреляцию с недействительными кэшами .
Есть идеи, что может вызвать эту проблему? Я не верю, что это типичные проблемы с разрешениями или файлами cookie, потому что, вообще говоря, панель администратора работает.
Magento работает в режиме разработчика на Linux.
magento2
admin-panel
magento-2.0.2
Фабиан Шменглер
источник
источник
Ответы:
ОБНОВИТЬ
Похоже, что обновление Firefox до 46 устраняет проблему!
Оригинальные расследования
Поскольку я также сталкиваюсь с этой досадной проблемой, я решил попробовать.
конфигурация
Репликация вопроса
На первый взгляд, этот вопрос показался мне совершенно случайным. Однако после нескольких тестов мне удалось выяснить, как именно повторить проблему.
браузер
Во-первых, мне не удалось воспроизвести проблему в 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
файла:До сих пор не могу понять, что здесь происходит.
Обновить
Недавно я сделал два изменения в моей установке:
Теперь я не могу больше повторять проблему.
источник
В настоящее время я испытываю именно эту проблему на M2.1.2 с запущенным php 7 на размещенном сервере NGINX (2 ядра, 2 ГБ оперативной памяти), и я использую Chrome (54.0.2840.71 м (64-разрядная версия)).
Я не проводил никакого тестирования, чтобы найти источник проблемы, но так как это была новая настройка сервера, я изначально предполагал, что это мой сервер. Теперь ... не так уверен.
Теперь я должен упомянуть, что я в настоящее время работаю в режиме разработчика, и я еще не скомпилировал свой код. Так что это может быть просто так.
источник
как-то связано, когда я обновляю продукт и меняю firefox на новую вкладку, чтобы перемещаться и страница magento теряла фокус, он остается в режиме ожидания, пока не вернется на страницу magento, а затем не завершит обновление этого продукта, это немного раздражает ... потому что Я открываю 3-4 продукта и хочу работать над другими, пока не закончится обновление. знаете решение этой проблемы?
источник