LINUX.ORG.RU

Заголовки HTTP

 ,


0

3

Почему бы браузеру не передавать в заголовках запроса http разрешение экрана? Хочу показывать тот или иной контент в зависимости от разрешения. Например на маленьких экранах скрывать некоторые блоки на сайте. Понятно что это можно сделать js и css, но как быть в php скрипте?

★★★★

учи JS. на крайний случай хоть: window.location='script.php?x=1920&y=1080'

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

r0ck3r ★★★★★
()
Последнее исправление: r0ck3r (всего исправлений: 3)

При первом входе с помощью JS определяй размеры экрана и вешай куку, потом из php ее читай и соответственно не генери лишние блоки, вот и все решение. Только непонятно, зачем это нужно. Сэкономить пару сотен байт трафика?

amomymous ★★★
()
Ответ на: комментарий от r0ck3r

Я же написал «Понятно что это можно сделать js и css». Интересует другое

gobot ★★★★
() автор топика
Ответ на: комментарий от beastie

Если lynx нечего передавать, но пусть ничего и не передает - все логично

gobot ★★★★
() автор топика
Ответ на: комментарий от Goury

И что CSS уберет контент и картинки\запросы к базе не будут выполняться? Мне нужно не показывать на маленьких экранах определенные блоки. Да их можно тупо скрыть css&js, но это костыль же

gobot ★★★★
() автор топика
Ответ на: комментарий от amomymous

А если этот вход первый и последний? Тут дело не в практике, а больше в теории. Почему бы браузеру не передавать width&height, вот в чем вопрос. По сути можно ведь через X-Width: 1000px например

gobot ★★★★
() автор топика
Ответ на: комментарий от gobot

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

Не надо смешивать контент и форматирование/отображение.

beastie ★★★★★
()
Ответ на: комментарий от gobot

Костыль это делать такие запросы к базе.

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

Если тебе надо мобильники отделить от остальных девайсов — анализируй user-agent.

Goury ★★★★★
()
Ответ на: комментарий от gobot

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

Goury ★★★★★
()

CSS media queries.

как быть в php скрипте?

Вдоль.

Deleted
()
Ответ на: комментарий от Goury

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

gobot ★★★★
() автор топика
Ответ на: комментарий от zz

Разрешение монитора меняется между запоосами? Хотя ту же ширину окна браузера можно передавать

gobot ★★★★
() автор топика
Ответ на: комментарий от Goury

Ну ну, мне твой совет очень важен

gobot ★★★★
() автор топика

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

будет еще недоучка людей учить, что должно быть в стандарте, а чего нет

anonymous
()
Ответ на: комментарий от anonymous

Чудик, пойми что «недоучка» может передать через куку или аякс разрешение и все же сможет решить за тебя, гуру

gobot ★★★★
() автор топика
Ответ на: комментарий от anonymous

И вообще с чего ты взял, что я пытаюсь кого то учить я сам интересуюсь. Блин ну вот откуда вы такие беретесь хамы...

gobot ★★★★
() автор топика
Ответ на: комментарий от gobot

Ну от разрешения мало толка, а окно да может меняться. Могут появляться/исчезать внешние мониторы.

zz ★★★★
()
Ответ на: комментарий от zz

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

gobot ★★★★
() автор топика
Ответ на: комментарий от int13h

А для чего знать юзер агент? А для чего вводят гео инфорацию? Какая разница для чего мне знать? Разные бывают случаи... Инфа эта не секретная, почему бы и не передвать ее, ну будут лишних 20 байтов в заголовках

gobot ★★★★
() автор топика
Ответ на: комментарий от int13h

Если два, то первое передавать...какая разница, это уже частный случай и таких будет 0,1%

gobot ★★★★
() автор топика
Ответ на: комментарий от gobot

Обычно ширина окна браузкра совпадает с разрешением экрана

Распространенное заблуждение :) Значимый кусок людей с обычными мониторами и подавляющее большинство на 27" не пользуются фулскрин браузерами.

Многие разве меняют размер окна, а тем более на смарте или планшете ?

Landscape/portrait. Мультитаскинги в самсунгах, а теперь и в яблоках.

Ну как мало?

Вопрос в том, зачем иметь страницы которые нужно рефрешить после изменения размера браузера, когда можно взять css и сделать так чтобы оно нормально работало на разных размерах.

zz ★★★★
()
Ответ на: комментарий от gobot

AJAX легко отключить вместе со всем JS. Тут дело в ненужности.
Стандартизировать ещё один заголовок только потому, что какие-то жопорукие неадекваты не могут сайт нормально сделать — кобылы сивой бред.

Goury ★★★★★
()
Ответ на: комментарий от anonymous

Этот анонимус очень хорошо передаёт моё мнение и официальную точку зрения всех разработчиков всех браузеров.

Goury ★★★★★
()
Ответ на: комментарий от zz

Та чего уж там, у многих просто панелька сбоку не уползает

Goury ★★★★★
()
Ответ на: комментарий от gobot

Тебе уже много раз сказали: используй CSS media query и user-agent.
Если этих инструментов тебе недостаточно для решения задачи — значит проблема глубже и надо решать её.

Goury ★★★★★
()
Ответ на: комментарий от int13h

Да, разрешение первого 320х240, а второго - 1600х1200

int13h ★★★★★
()

как быть в php скрипте?

Никак.

Почему бы браузеру не передавать в заголовках запроса http разрешение экрана?

Потому что это ненужно. Зачем тебе разрешение моего экрана если у меня окно браузера меньше?

h578b1bde ★☆
()
Ответ на: комментарий от r0ck3r

учи JS

Сегодня удобнее адаптивность делать на CSS. И с выключенным/блокированным JS будет работать, и обработка будет перед рендерингом, без тормозов отрисовки.

KRoN73 ★★★★★
()
Ответ на: комментарий от gobot

поверни планшет на 90 градусов передвинь окно с одного монитора на другой залогинься по rdp с разрешением клиента отдели вкладку от браузера

сильно тебе помогло то, что во время загрузки страницы ты знал разрешение экрана?

anonymous
()

Осиль адаптивные картинки уже. И разрешение экрана слабо связано с доступным контенту страницы пространством.

anonymous
()

Как уже ответили: если часть контента не везде надо показывать, грузи её аяксом. А вообще экономия на спичках

xorik ★★★★★
()
Ответ на: комментарий от gobot

Почему бы браузеру не передавать width&height, вот в чем вопрос.

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

amomymous ★★★
()
Ответ на: комментарий от zz

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

gobot ★★★★
() автор топика
Ответ на: комментарий от Deleted

Ты можешь и куки не передавать и жс отключить, но кто ты после этого будешь? ))

gobot ★★★★
() автор топика
Ответ на: комментарий от Goury

Я в самом начале говорил, что как на цсс и жс сделать знаю, будь внимательней. Вопрос именно про заголовки

gobot ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.