Есть ли способ "перенаправления" для перенаправления, если обнаружен мобильный браузер? - PullRequest
9 голосов
/ 02 августа 2011

Я хочу запустить проверку пользовательского агента, но только на своей домашней странице (static_controller # home). Я внимательно посмотрел на код: http://www.arctickiwi.com/blog/mobile-enable-your-ruby-on-rails-site-for-small-screens и он кажется близким, но он никогда не связывается, егопросто создание метода ... Я открыт для метода jquery, но предпочел бы ruby ​​/ rails, а не js.

Мне действительно важны только iphone и droid ...

Ответы [ 4 ]

18 голосов
/ 02 августа 2011

Проверьте это скринкаст . Они предлагают использовать следующее для обнаружения мобильного устройства:

request.user_agent =~ /Mobile|webOS/
4 голосов
/ 25 сентября 2012

http://detectmobilebrowsers.com/

Чрезвычайно полезно для меня.

3 голосов
/ 26 февраля 2015

Из этого SO ответа :

Лучший способ - использовать некоторые поддерживаемые плагины / гемы, такие как browser

Это намного лучшечем писать свое собственное регулярное выражение.

Например, Opera 11.50 имеет следующий user_agent:

Opera/9.80 (Android 2.3.7; Linux; Opera Mobi/ADR-1111021303; U; en-GB) Presto/2.9.201 Version/11.50

Предлагаемое регулярное выражение:

request.user_agent =~ /Mobile|webOS/

будет всего пропустить это.

Вы также получаете преимущество, узнавая, какую платформу (mac, windows и т. Д.), Планшеты, ie6 и т. Д. Я - разработчик новичков, я настроил его и заставил работать за 2 минуты.Настоятельно рекомендуется.

0 голосов
/ 10 октября 2013

Попробуйте это: https://github.com/neighborland/mobu

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

Mobu изменяет ваши пути просмотра рельсов в зависимости от типа запроса. Он не требует пользовательских типов MIME или отдельных поддоменов.

...