Hey alle, ich frage mich, welche Methoden sind Standard in der Branche Browsererkennung in Rails zu tun? Gibt es irgendwo einen Edelstein, eine Bibliothek oder einen Beispielcode, der den Browser bestimmen und eine Klasse oder ID auf das Body-Element des (X) HTML anwenden kann? Danke, ich frage mich nur, was jeder benutzt und ob es eine akzeptierte Methode dafür gibt?Rails Browser Detection Methoden
Ich weiß, dass wir die user.agent abrufen und diese Zeichenfolge analysieren können, aber ich bin mir nicht sicher, ob das eine akzeptable Möglichkeit ist, die Browsererkennung durchzuführen.
Außerdem versuche ich hier nicht über Feature-Erkennung zu debattieren, ich habe mehrere Antworten dafür auf StackOverflow gelesen, alles was ich verlange ist, was ihr getan habt.
[UPDATE]
So dank faunzy auf GitHub, habe ich irgendwie ein wenig verstehen, über die User-Agenten in Rails prüft, aber immer noch nicht sicher, ob dies der beste Weg, um es in Rails zu gehen 3. Aber hier ist, was ich bisher bekommen habe:
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
Danke für die Referenz, ich habe diese Bibliothek benutzt, um meine eigene zu erstellen. – alvincrespo
Ich bin neugierig ... Was haben Sie in Ihrer Version der Bibliothek hinzugefügt? Ist der Quellcode irgendwo verfügbar? –
Der Link ist tot. : x –