Определить пользователя планшета или настольного компьютера - PullRequest
0 голосов
/ 14 июня 2011

Я планирую иметь совершенно отдельный макет / дизайн для пользователя настольного ПК против планшета.Мое приложение основано на Java.Мои вопросы1. Как лучше всего определить, поступает ли запрос с настольного компьютера или планшета (iPad / Xoom и т. Д.) 2. Может ли это быть выполнено на стороне сервера, а не через строку агента пользователя JS?

Живой пример перенаправления, если кто-то пытается получить доступ к Yahoo.то есть, если запрос поступает из настольного браузера, мы будем перенаправлены на www.yahoo.com, а если запрос поступит с планшетного устройства, такого как iPad, мы будем перенаправлены на www.yahoo.com/tablet. Я планируючто-то по примеру Yahoo.Не уверен, как они это реализовали.

Я знаю, что некоторые из вас могут подумать, что я должен просто контролировать 2 отдельных CSS, таких как desktop.css и tablet.css, и обнаруживать с помощью медиа-запроса CSS ИЛИ пользовательского агента JS.Но суть в том, что макет / дизайн настолько отличаются между двумя, что я просто не могу управлять только с помощью CSS, и именно поэтому я планирую иметь отдельную версию своего веб-приложения для планшета и выполнить перенаправление.

Пожалуйста, дайте мне знать, сколько предложений вы можете.

Заранее спасибо за вашу помощь в этом.

Ответы [ 2 ]

1 голос
/ 19 сентября 2013

Мне приходилось сталкиваться с одной и той же проблемой, когда мне приходилось различать между настольным и не настольным компьютерами.Я пошел с обнаружением на стороне клиента, используя JavaScript.Я использую RequireJS в своем решении, и вот мой модуль:

define(function(){
    var isTouchDevice = function() {  return window.screenX === 0 && 'ontouchstart' in window || 'onmsgesturechange' in window; };
    var isDesktop = !isTouchDevice() ? true : false;
    return isDesktop;
});

Я добавил переменную isDesktop для удобства чтения.

1 голос
/ 20 июня 2011

Вы должны проверить строку user-agent в вашем HTTP-запросе. На основании этого вы сможете идентифицировать устройство - при условии, что пользователь не изменил строку агента пользователя, отправленную из браузера устройства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...