大家好,我想知道在 Rails 中进行浏览器检测的行业标准方法是什么?是否有 gem、库或示例代码可以帮助确定浏览器并将类或 id 应用于 (X)HTML 的正文元素?谢谢,我只是想知道每个人都使用什么以及是否有公认的方法?
我知道我们可以获取 user.agent 并解析该字符串,但我不确定这是否是一种可接受的浏览器检测方式。
另外,我不想在这里讨论特征检测,我已经在 StackOverflow 上阅读了多个答案,我所要求的只是你们做了什么。
[更新]
所以感谢GitHub 上的faunzy,我对在 Rails 中检查用户代理有点了解,但仍然不确定这是否是在 Rails 3 中进行此操作的最佳方法。但这就是我得到的远的:
def users_browser
user_agent = request.env['HTTP_USER_AGENT'].downcase
@users_browser ||= begin
if user_agent.index('msie') && !user_agent.index('opera') && !user_agent.index('webtv')
'ie'+user_agent[user_agent.index('msie')+5].chr
elsif user_agent.index('gecko/')
'gecko'
elsif user_agent.index('opera')
'opera'
elsif user_agent.index('konqueror')
'konqueror'
elsif user_agent.index('ipod')
'ipod'
elsif user_agent.index('ipad')
'ipad'
elsif user_agent.index('iphone')
'iphone'
elsif user_agent.index('chrome/')
'chrome'
elsif user_agent.index('applewebkit/')
'safari'
elsif user_agent.index('googlebot/')
'googlebot'
elsif user_agent.index('msnbot')
'msnbot'
elsif user_agent.index('yahoo! slurp')
'yahoobot'
#Everything thinks it's mozilla, so this goes last
elsif user_agent.index('mozilla/')
'gecko'
else
'unknown'
end
end
return @users_browser
end