Совокупный сдвиг макета 0 при 4 сценариях ios? - PullRequest
0 голосов
/ 10 июля 2020

Я тестировал тот же URL в рамках 4 сценариев ios:

  1. С рекламой
  2. Без "обычных" объявлений, но с рекламой Google
  3. Без Google реклама, но с обычной рекламой
  4. Без рекламы

В каждом сценарии я получаю CLS от 0

Как это может быть, потому что URL-адрес определенно имеет области, которые перемещаются. Спасибо!

1 Ответ

0 голосов
/ 14 июля 2020

Вы получаете сдвиг макета, но не в те моменты, когда измеряет Google Page Speed ​​Insights.

Загрузка рекламы задерживается на рабочем столе.

Проблема в том, что сайт полностью загружается, а затем загружается реклама. Page Speed ​​Insights не увидит этого изменения, так как он уже завершил свои тесты, поэтому он видит все четыре версии страницы как одинаковые.

На мобильных устройствах реклама не загружается в вообще (не уверен, намеренно ли это), поэтому очевидно, что они не имеют никакого эффекта.

За исключением загрузки рекламы на ваш сайт не происходит никаких сдвигов макета, которые я мог бы сразу увидеть. Поскольку вы определяете высоту и ширину своих изображений, а рендеринг происходит сразу, нет сдвигов макета «выше сгиба», на что и обращает внимание PSI. (смоделированные данные) отличается от данных поля (данные реального мира) из-за рекламы, заставляющей страницу прыгать, и того факта, что данные поля собираются во время навигации людей страница и не останавливается только на загрузке страницы, в отличие от PSI. Вы можете найти это объяснение в CLS от Адди Османи , которая работает в Google Chrome, полезное и актуальное.

Если вы откроете инструменты разработчика и включите «Мигание краски» и «Области сдвига макета» (на вкладке «Визуализация»), у вас будет два инструмента, которые полезны для определения того, что вызывает сдвиги макета. (Что в вашем случае в значительной степени сводится к рекламе, как вы упомянули.)

Один из способов остановить это - сделать то же самое с регионами рекламы, что и со своими изображениями. Дайте им высоту, прежде чем они загрузятся, и тогда для них уже будет выделено пространство. Вы можете использовать padding-top CSS hack или что-то подобное, чтобы добиться этого, если просто определить фиксированную высоту невозможно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...