Xin chào mọi người, tôi đã tự hỏi phương pháp nào là tiêu chuẩn trong ngành để phát hiện trình duyệt trong Rails? Có một gem, thư viện hoặc mã mẫu ở đâu đó có thể giúp xác định trình duyệt và áp dụng một lớp hoặc id cho phần tử body của (X) HTML? Cảm ơn, tôi chỉ tự hỏi những gì mọi người sử dụng và liệu có được chấp nhận phương pháp làm điều này?Rails Phương pháp phát hiện trình duyệt
Tôi biết rằng chúng tôi có thể lấy user.agent và phân tích chuỗi đó, nhưng tôi không chắc liệu đó có phải là cách chấp nhận được để phát hiện trình duyệt hay không.
Ngoài ra, tôi không cố gắng tranh luận về tính năng phát hiện ở đây, tôi đã đọc nhiều câu trả lời cho điều đó trên StackOverflow, tất cả những gì tôi hỏi là những gì các bạn đã làm.
[UPDATE]
Vì vậy, nhờ faunzy trên GitHub, tôi đã loại hiểu một chút về việc kiểm tra các đại lý người dùng trong Rails, nhưng vẫn không chắc chắn nếu điều này là cách tốt nhất để đi về nó trong Rails 3. Nhưng đây là những gì tôi đã nhận được cho đến nay:
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
Cảm ơn bạn đã tham khảo, tôi đã sử dụng thư viện đó để tạo tài liệu của riêng mình. – alvincrespo
Tôi tò mò ... bạn đã thêm gì vào phiên bản thư viện của mình? Mã nguồn có sẵn ở đâu đó không? –
Liên kết đã chết. : x –