Отключить загрузку лишних блоков в мобильной версии

  • 12 Ответов
  • 672 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Roinmana

  • Осваиваюсь на форуме
  • ***
  • 87
  • 1
Доброго дня! Посоветуйте, пожалуйста, способ отключения блоков в мобильной версии сайта. Сейчас использую медиа запросы и display: none в зависимости от размера экрана. Хотя все выглядит замечательно, но модули в скрытых блоках продолжают загружаться вместе со своими скриптами, хотя скрыты от пользователей, что не совсем верно. Желательно, чтобы модули в скрытых блоках совсем не загружались.


*

AlekVolsk

  • Профи
  • ********
  • 6301
  • 336

*

Roinmana

  • Осваиваюсь на форуме
  • ***
  • 87
  • 1
используйте mobile detect
Хороший скрипт. Правильно ли я понял, что нужно подключить его вначале index.php, а дальше на конкретную позицию ставить условие?

*

AlekVolsk

  • Профи
  • ********
  • 6301
  • 336
да, совершенно верно

*

fsv

  • Практически профи
  • *******
  • 2506
  • 367
Правильно ли я понял
Почти правильно (если не хотите пользоваться встроенным классом).
Цитировать
подключить его вначале index.php
надо также по условию.
Проверка наличия данных клиента в куках, если нет - подключаете класс, результат его работы сохраняете.
Грузить этот класс на каждую загрузку страницы (и каждое посещение сайта) не надо, девайс "вдруг" не изменится.
Заказать разработку:    расширения Joomla  |   интерфейсы на javascript(jQuery)  |  мобильные приложения

*

Roinmana

  • Осваиваюсь на форуме
  • ***
  • 87
  • 1
Почти правильно (если не хотите пользоваться встроенным классом).надо также по условию.
Проверка наличия данных клиента в куках, если нет - подключаете класс, результат его работы сохраняете.
Грузить этот класс на каждую загрузку страницы (и каждое посещение сайта) не надо, девайс "вдруг" не изменится.
Простите, не силен в PHP, не могли бы вы опубликовать сам код решения?

*

AlekVolsk

  • Профи
  • ********
  • 6301
  • 336
думаю, за готовым решением - это уже в ком.раздел ))

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

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

*

Roinmana

  • Осваиваюсь на форуме
  • ***
  • 87
  • 1
В примере, упрощенно говоря сказано - если мобильный девайс, то выводим {код}. В index.php идет подключение позиции модуля
Код
<?php if($this->countModules('footer')) : ?>
<div id="foother">
<jdoc:include type="modules" name="footer" style="xhtml" />
</div>
<?php endif; ?>
Как записать "Если мобильный девайс, то не загружать эту позицию"?

*

AlekVolsk

  • Профи
  • ********
  • 6301
  • 336
Код: php
<?php if($this->countModules('footer')) : ?>
<div id="foother">
    <?php if ( !$detect->isMobile() ) { ?>
        <jdoc:include type="modules" name="footer" style="xhtml" />
    <?php } ?>
</div>
<?php endif; ?>

*

Roinmana

  • Осваиваюсь на форуме
  • ***
  • 87
  • 1
Код: php
<?php if($this->countModules('footer')) : ?>
<div id="foother">
    <?php if ( !$detect->isMobile() ) { ?>
        <jdoc:include type="modules" name="footer" style="xhtml" />
    <?php } ?>
</div>
<?php endif; ?>
Так получается, что на мобильных этот модуль выводится, а нужно наоборот запретить его на мобильных.
Дополнено - Что бы модуль не выводился, нужно писать
Код
if ( !($detect->isMobile()) ) {}
« Последнее редактирование: 30.03.2017, 15:42:50 от Roinmana »

*

fsv

  • Практически профи
  • *******
  • 2506
  • 367
<div id="foother">
внутрь проверки засуньте. Зачем пустой div выводить?
Заказать разработку:    расширения Joomla  |   интерфейсы на javascript(jQuery)  |  мобильные приложения

*

AlekVolsk

  • Профи
  • ********
  • 6301
  • 336
тоже верно )