Здравствуйте! Ничего не нашел по теме, спрошу у вас. Многие знают, что в адаптивном дизайне часто применяется CSS метод - display: none; с применением параметра, например @media (max-width: 449px). Фактически содержимое загружается в браузер, но просто не отображается в нем. Существует ли способ, в котором можно задать PHP условие, которое будет срабатывать на разрешение экрана? Таким образом можно значительно уменьшить вес страницы для мобильных устройств. Может есть готовое решение? Спасибо.
А в чем профит? Я понимаю когда скорости были диалаповские, но пардоньте, писать для этого пхп скрипт - это моветон! Причем не просто срипт, а нужно через JS определить размер экрана, отдать это пхп скрипту. А когда что-то нужно будет поменять в верстке, тоже будете ковырять пхп код?
Ну AMP страницы, это своего рода урезанный оригинал. Зачем они нужны, ведь скорости не диалаповские... Например есть желание убрать целый сайдбар для мобильных устройств. Там много контента, изображения, ссылки, дополнительные стили и т.д. Зачем это все тянуть на несчатную трубу, если юзер все равно это не увидит? Ну и мобильный интернет не всегда быстрый. Писать скрипт - нет. Но неужели задача первый раз такая? Думал есть готовые решения.
полно. Но я реально не врубаюсь; вы ищете древний как мир способ вытащить через js разрешение экрана и передать его на сервер? Да на здоровье; вот вам скрипт, обусловьте что хотите (elseif) и вперед: PHP: // проверяем существование переменных $width и $height if (isset($_GET['width']) AND isset($_GET['height'])) { // если переменные существуют, то выводим полученные значения на экран echo 'Ширина экрана: ' . $_GET['width'] . "<br />\n"; echo 'Высота экрана: ' . $_GET['height'] . "<br />\n"; } // если переменные не существуют, то выполняем следующее else { // PHP сгенерирует код JavaScript, который обработает браузер // пользователя и передаст значения обратно PHP-скрипту через протокол HTTP echo "<script language='javascript'>\n"; echo " location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}" . "width=\" + screen.width + \"&height=\" + screen.height;\n"; echo "</script>\n"; } ?> Скрипт рабочий, пробуйте. Ежели будут кракозябли, кодировку прописать.
Ну так именно для такого можно отдельно сделать мобильную версию сайта: site.com - для десктопов m.site.com - для мобилок Соответственно, как в варианте адаптивного дизайна, так и в разделении по доменам есть свои плюсы и минусы. Можете конечно и через PHP адаптивку сделать, основываясь на коде указанном выше. Решать вам.
Тут штука такая, чтобы узнать разрешение экрана, надо сначала загрузить сайт, поскольку браузер при запросе своего разрешения не передаёт. Т.е. сначала грузится код с JS, который определяет разрешение экрана, потом он запускает загрузку php. Соответственно, с отключенным JS всё это радостно не работает. Мобильные, конечно, ещё можно определять по заголовкам - всяких скриптов Mobile Detect полно в сети. Но они не точные, поэтому на их основе не определяют обычно вёрстку. Короче, лучше адаптива ничего не придумали.