Простой способ проверить имя и версию браузера - PullRequest
0 голосов
/ 24 августа 2010

Есть ли действительно простой способ узнать, какой браузер назвал действие контроллера.

Я хотел бы иметь код для моего контроллера, например:

if mighty_lib.browser.name == "Safari"
   if mighty_lib.browser.version >= 5
       # Glad to see you, Safari 5, there is a stunning, interactive page for you.
   elsif mighty_lib.browser.version >= 4
       # Glad to see you, Safari 4, there is a less advanced page for you.
   end
if mighty_lib.browser.name == "Firefox"
   # Quick brown fox jumps over the lazy dog
elsif mighty_lib.browser.name == "IE"
   # Oh, my god ... Change your browser ! There is a "Jurassic Park" movie for you
end

Ответы [ 3 ]

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

Я хотел бы предположить, что сервер не является лучшим местом для обработки различных требований браузера - это, как правило, гораздо лучший подход к использованию Smart CSS и (ненавязчивого) JavaScript для включения и выключения функций на стороне клиента в соответствии сконкретные возможности клиента в отличие от фиксации на конкретных версиях.

1 голос
/ 26 апреля 2012

Я нашел два камня, которые могут сделать работу:

https://github.com/kevinelliott/agent_orange

https://github.com/visionmedia/user-agent

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

Вы можете использовать этот старый плагин или написать какой-нибудь необработанный код, который использует request.env["HTTP_USER_AGENT"]. Также посмотрите этот комментарий на форумах Ruby .

...