Сайт не адаптирован для планшетов

Здравствуйте,
Я обнаружил, что мой сайт не адаптируется под планшет. Однако он становится адаптивным, если отключить плагины в безопасном режиме. На моём сайте установлены только официальные плагины.

Вот список плагинов, установленных на моём сайте:

Проблема не проявляется в Meta. Я думаю, это связано с тем, что Meta не использует плагин discourse-adplugin.

Как сайт выглядит на планшете:

Не могли бы вы попробовать отключить блокировщик рекламы или использовать режим инкогнито, чтобы проверить, поможет ли это?

Та же проблема возникает и в режиме инкогнито.

Подозреваю, что это связано с новой боковой панелью, потому что если я использую меню-гамбургер, чтобы скрыть панель, то сайт становится адаптивным и идеально выравнивается по экрану.

1 лайк

Боюсь, у меня нет планшета, чтобы проверить это самостоятельно, но не могли бы вы попробовать отключить боковую панель, используя настройки администратора «enable experimental sidebar hamburger» и «enable sidebar», и посмотреть, поможет ли это в краткосрочной перспективе:

1 лайк

Да, если я отключу два параметра боковой панели, сайт снова станет адаптивным и выровняется по экрану. Проблема связана с боковой панелью.

Здравствуйте,

Я могу воспроизвести это на вашем сайте. Думаю, причина в том, что верхние объявления имеют фиксированную ширину. Не уверен, можно ли выбрать тип адаптивных объявлений? :thinking: Или, может быть, задать ширину через CSS. Вероятно, реклама в Discourse требует обновления для лучшей работы с боковой панелью… Или у вас есть какие-то модификации рекламы?

1 лайк

Вот что я вижу на своём iPad Pro, к слову.

Дайте знать, если хотите, чтобы я попробовал снова после того, как вы измените какие-либо настройки. :+1:

Аdblockers активны



Аdblockers неактивны



2 лайка

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

Десктоп / CSS

@media screen and (max-width: 1000px) {
  .google-adsense .google-adsense-content {
    width: 100% !important;
  }
}
2 лайка

Я добавил CSS. Теперь на главной странице проблемы нет, но она присутствует на всех страницах.

Я не вносил никаких изменений в рекламу. Я использую рекламу фиксированного размера над списком тем в плагине AdSense.

1 лайк

Я изменил настройки. Пожалуйста, попробуйте ещё раз?

Не вижу никаких очевидных различий, возможно, из-за кэширования?

Активные блокировщики рекламы



Блокировщики рекламы отключены



Понятно. Я думаю, проблема связана с рекламой фиксированной ширины. Например, если открыть сайт со свернутым боковым меню, а затем развернуть его, то реклама полного размера тоже сместится вправо, и ширина рекламы обновится только после полной перезагрузки страницы.

К сожалению, прямо сейчас я не могу проверить это на своем тестовом сайте.

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

@media screen and (max-width: 1110px) {
  .google-adsense .google-adsense-content {
    width: 100% !important;
    .adsbygoogle {
      width: 100% !important;
      > div {
        width: 100% !important;
      }
    }
  }
}
1 лайк

Я заменил предыдущий CSS на новый. Однако проблема сохраняется на всех страницах, кроме главной. Я также пробовал очистить кэш, но безрезультатно.

1 лайк

Извините, это была моя лучшая подсказка на данный момент, но теперь мы знаем, что причина в рекламе. Думаю, вы можете удалить этот код, чтобы избежать конфликта с будущим исправлением. :slightly_smiling_face:

1 лайк

Спасибо за помощь. Надеюсь, кто-нибудь скоро исправит эту проблему.

1 лайк

Я обнаружил, что у Meta та же проблема на всех страницах.

1 лайк

Привет, да, я могу воспроизвести проблему. Похоже, что на страницах тем с открытым боковым меню максимальная ширина нижнего .loading-container менее 790 пикселей вызывает это.

Вероятно, было бы хорошо, если бы в ядро добавили --d-sidebar-width в это вычисление, когда доступен класс .has-sidebar-page?

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

Краткое резюме:

На последней странице фиксированная ширина верхней рекламы вызывает это, а также на страницах тем, которые я упомянул выше.

Это быстрое исправление должно сработать для вас.

Desktop / CSS

.google-adsense .google-adsense-content {
  max-width: 100%;
  .adsbygoogle {
    max-width: 100%;
    > div {
      max-width: 100%;
    }
  }
}

@media all and (max-width: 790px) {
  body.has-sidebar-page {
    .topic-area > .loading-container {
      max-width: calc(100vw - var(--d-sidebar-width) - 32px);
    }
  }
}
2 лайка

Спасибо, Дон. Теперь сайт адаптивен и работает как ожидалось на моём планшете. Надеюсь, сотрудники Discourse исправят эту ошибку и на meta.

1 лайк