/ / Откриване на размера на екрана и плътността на пикселите от страната на сървъра? - рубин на релси, рубин, устройство за откриване

Разпознаване на размера на екрана и плътността на пикселите на сървъра? - рубини на релси, рубин, откриване на устройства

Правя някои изследвания и мисля, че знамотговора вече, но аз съм се чудех дали има някакви средства, чрез които можете да получите на екрана на устройството размер и плътност на пикселите, без да се използва JavaScript или разчита на CSS3 медии запитвания.

По същество аз разглеждам какво ще е необходимо, за да се получи резолюцията на екрана и плътността на пикселите, така че сървърът да може да реши коя снимка да сървър в URI заявка.

Досега не съм намерил нищо, което да казва, че това е възможно, но си помислих, хей.

Отговори:

0 за отговор № 1

Ruby работи на сървъра - без да получава информация от клиента, няма начин да знае каквито и да било възможности на клиента.


9 за отговор № 2

Не съм съгласен изцяло с горнотоотговор. Реално този отговор е правилен в много случаи ... но теоретично това не е така. Често исканията, направени към уеб сървър, съдържат поле User-Agent, което на теория може да се използва за разпознаване на информация за разделителните способности на екрана и свойствата на устройството.

Уеб заявките не преминават първо през клиента. Те преминават към сървъра, който след това обслужва страница на клиента, така че сървърът получава заявката първо.

Вижте примерния парсер за UA, като: https://github.com/visionmedia/user-agent

Примерният потребителски агент, изпратен от компютъра ми, е:

  User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.11 (KHTML, like  enter code here`Gecko) Chrome/17.0.963.83 Safari/535.11

Мисля, че е възможно да се направи доброПредполагам, че моята резолюция на екрана (DPI и т.н.) се дава на тази информация чрез сървър. Разбира се, ще ви е необходима таблица с информация за устройството.

За мобилни устройства става още по-лесно. Ако User-Agent е мобилно сафари за iPad:

  Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML,   like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10

Можете да знаете със силна сигурност какворазделителната способност на екрана е на сървъра. Можете дори да знаете височината и ширината на браузъра с тази информация. Подозирам, че същото важи и за много мобилни устройства като Android или Win Mo.

Така че, в обобщение, съгласен съм, че е непрактично да се прави това, но също така не съм съгласен.

Вярвам, че Facebook е предприел голям проекткаталогизиращи устройства и резолюции на екрани и го направиха с отворен код, защото се сблъскаха с подобни проблеми при създаването на мобилното приложение във Facebook, напр. трябваше да каталогизират всички несъответствия между всички мобилни браузъри, за да могат да приспособят клиентското приложение към всеки отделен случай. Може би този проект може да има необходимата информация, за да направи това ... на теория.


2 за отговор № 3

За нещо, което е невъзможно изглежда, че Mobvious прави добра работа:

Mobvious разпознава дали приложението ви / уебсайта едостъп до него чрез телефон, таблет или персонален компютър. След това можете да използвате тази информация в приложението ви. (Напр. Да поставите предния си код по отношение на типа устройство. Има и плъгин за Ruby on Rails ви помага с това.)

https://github.com/jistr/mobvious


0 за отговор № 4

Можете да използвате ало, Методът current_visit съдържа следната информация.

Когато някой посети вашия сайт, Ahoy създава посещение с много полезна информация.

източник на трафик - референт, препращащ домейн, целева страница, търсене
местоположение на ключовите думи - държава, регион и градска технология - браузър, операционна система, и тип устройство
utm параметри - източник, среда, термин, съдържание, кампания