Мое мнение: это не проблема производительности, и исправления, внесенные в июле, были недостаточными, поскольку проблема (подергивания) всё ещё возникает на мобильных устройствах и только при активации опции вставки рекламы каждые n-е сообщение.
Это было настолько раздражающим и мешающим нашим пользователям, что нам пришлось просто отключить эту опцию.
Я думал, @eviltrout уже разобрался, и проблема была исправлена. @Cazadividendos@Paracelsus О какой рекламной платформе речь? Какой размер рекламы? Вы говорите, что подёргивания происходят только на мобильных устройствах?
Проблема была сообщена только на iPhone. На Android всё работает как ожидается, без скачков.
Платформа для рекламы: Adsense
Размер рекламы: адаптивный (как для обычных, так и для мобильных объявлений)
Код Adsense для nth поста: 5
У меня (были) точно такие же настройки, как у Cazadividendos, за исключением того, что реклама появлялась в каждом 10-м посте. И пользователи Android, и пользователи iPhone сообщают о том же поведении (особенно в мобильном Chrome).
На самом деле, я подозреваю, что то же самое происходило и в десктопной версии, но поскольку там гораздо больше вертикального пространства, вы всё ещё можете заметить это визуально, не прокручивая страницу постоянно.
Если хотите, я могу активировать это, и вы сможете увидеть это своими глазами. Это поможет, @neil?
Хорошо, я снова активировал эту опцию, и проблема с дерганьем вернулась.
Если вы будете медленно прокручивать между сообщениями 684 и 686 (и время от времени останавливаться, как будто читаете каждое сообщение), то поймете, о чем мы говорим…
Я уже упоминал об этом в другой теме, пожалуйста, прочитайте:
Поглубже изучив вопрос, я попытался использовать CSS, чтобы задать размеры контейнеру, в котором должны отображаться адаптивные объявления между постами. Вот пример:
.adsense-post-bottom.adsense-responsive {
height: 100px; // не выше этого, пожалуйста
}
Я не могу найти ничего в плагине для рекламы или в ядре Discourse, что добавляло бы эти встроенные стили с !important. Похоже, что JS AdSense выбрал ядерный вариант и очень хочет навязывать произвольные высоты контейнеру. Так что всё с авто !important!
Похоже, что AdSense сделал это невозможным. Теперь варианты следующие:
Удалить опцию размера “responsive” из плагина AdSense (для тех, кто сейчас использует размер “responsive”, будет использоваться запасной вариант: 728x90 для десктопа, 300x250 для мобильных).
Удалить опцию “responsive” только для размещения между постами (хотя скачки происходят во всех размещениях).
Создать тему здесь на Meta о проблеме, разрешить людям继续使用 “responsive” и добавить ссылку на неё в описании всех настроек размера AdSense.
“Авто !important” исходит от плагина для рекламы или ядра Discourse, и я не могу его найти?
РЕДАКТИРОВАНИЕ:
Возможно, я теперь понимаю это предложение:
То есть нужно будет иметь возможность выбрать “responsive”, а затем установить максимальную ширину и максимальную высоту в настройках плагина.