2010-08-24 1 views
0

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

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

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 

ответ

0

Вы можете использовать this old plugin или написать некоторый необработанный код, который использует request.env["HTTP_USER_AGENT"]. Кроме того, взгляните на этот комментарий на Ruby forums.

2

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