Весь CSS появляется, исчезает, а затем снова появляется при загрузке страницы - PullRequest
0 голосов
/ 27 февраля 2019

У меня странная проблема с сайтом моей компании.При загрузке происходит мигание без применения CSS.Я думал, что это просто означало, что CSS был отложен, но, глядя на временную шкалу загрузки:

Timeline of page load

Кажется, что CSS применяется, затем через 400 мс он перестает применяться , а затем через ~ 500 мс применяется снова.

Я не вижу, что может вызвать проблемы такого рода.

Как тиражировать:

Перейти на этот сайт .Нажмите Enter в адресной строке (по какой-то причине проблема не появляется при простом обновлении).

Проблема появляется, только если кэш не отключен.

Реплицируетсяв Chrome и Firefox, похоже, не появляется в Safari.

Не отображается при работе в качестве локального хоста

Кажется, не зависит от наличия / отсутствия блокировщиков рекламы

1 Ответ

0 голосов
/ 28 февраля 2019

Нашли исправление, но не нашли причину.

Исправление:

Переместите CSS перед JS в заголовке. Это не должно иметь эффекта , но, очевидно, так оно и есть в этой ситуации.

Причина:

Насколько я могу судить, проблемный поток заключается в следующем:

1 - браузер получает CSS из кэша и применяет его

2 - браузер по какой-то причине понимает, что вместо него следует использовать CSS заголовка, и удаляет кеш CSS

3 - Сценарии (в основном, Google Analytics) задерживают загрузку CSS настолько, что мы можем увидеть немного не css-сайта

Все еще не понимаюпункт 2 вообще, но исправление работает.И мне платят за то, чтобы заставить его работать, а не понимать, поэтому вопрос закрыт.

...