Как определить мобильный браузер и направить на него соответствующий контент? - PullRequest
6 голосов
/ 17 августа 2010

Я читал, что плохо (не рекомендуется) использовать User Agent Sniffing для отправки правильного контента для мобильного браузера, поэтому мне интересно, как лучше всего это сделать?

Я использую ASP.NET MVC, и я создал свой сайт, и он хорошо работает в настольных браузерах, поэтому я собираюсь начать создавать мобильную версию. Когда на мой сайт приходит мобильный браузер, я бы хотел использовать другой набор просмотров, который в идеале обладает следующими атрибутами:

  1. Ссылка на предварительно масштабированные изображения
  2. Используйте минимальный JavaScript
  3. Удалить все, кроме необходимого контента

Моей первой мыслью было перехватить пользовательский агент, а затем отправить другой файл .CSS, но, как указано выше, я прочитал, что это плохой способ сделать это, поэтому я прошу вас подумать .

Ответы [ 4 ]

7 голосов
/ 17 августа 2010

Пользовательский агент - это действительно все, что у вас есть в запросе HTTP GET, но вы должны позволить кому-то еще вести список.Мы используем Файл обозревателя мобильных устройств Microsoft с пользовательским механизмом просмотра примерно так же, как в этом сообщении Скотта Хансельмана .

2 голосов
/ 17 августа 2010

Лучший способ обнаружить мобильный браузер - использовать этот замечательный проект codeplex:

http://mdbf.codeplex.com/

Информацию о том, как вы можете создавать целевые представления, читайте здесь:

http://www.hanselman.com/blog/MixMobileWebSitesWithASPNETMVCAndTheMobileBrowserDefinitionFile.aspx

1 голос
/ 17 августа 2010

Самым простым подходом может быть использование отдельного домена «m.yourdomain.com» или «yourdomain.mobi» ( Source ), чтобы вы могли предположить, что пользователь находится на мобильном устройстве. *

0 голосов
/ 17 августа 2010

Хотя я полагаю, что браузер недоволен для определения возможностей, вы должны использовать его, например JQuery.support . Когда дело доходит до фактического представления существенно разных макетов, я думаю, что вам нужно найти идентификатор браузера и действовать соответственно.

...