I can't find any posibility to detect the browser with rails so i tried
javascript.
-----------------------------------------------------------------------------
<SCRIPT Language="JavaScript">
if (navigator.userAgent.indexOf("Netscape") != -1)
{
<% flash[:error_messages_for] = "NETSCAPE" %>
}
else if (navigator.appName.indexOf("Internet Explorer") != -1)
{
<% flash[:error_messages_for] = "IE>" %>
}
</script>
-----------------------------------------------------------------------------
The problem is, that the flash message will shown independent of the IF
request.
Any ideas?
Greeting Chaos
--
Posted via http://www.ruby-forum.com/.
Did you try using request.env['HTTP_REFERER']? I think this can be used
to detect the browser type. Not sure what all the info that this
returned but I think browser type was one of them.
-S
cya chaos
Hi Walter,
I placed the method in the application_helper.rb in the app/helpers
directory.
Then I call the method in the application layer in
app/views/layer/application.rb with <% client_browser_name %>. But you
can call this method also in every other view.
Ask if you have still questions.
Greetings Andi
I am using this code based on the javascript browser detection code in
the open source ExtJS framework (ExtJS.com) and converted to Rails:
def getBrowser(bt)
rs=false
ua=request.env['HTTP_USER_AGENT'].downcase
isOpera = ua.index('opera') ? true : false
isSafari = (ua =~ /webkit|khtml/) ? true : false
isSafari3 = (ua.index('webkit/5') ? true : false
isGecko = (!isSafari and ua.index('gecko')) ? true : false
isGecko3 = (!isSafari and ua.index('rv:1.9')) ? true : false
isIE = (!isOpera and ua.index('msie')) ? true : false
isIE7 = (!isOpera and ua.index('msie 7')) ? true : false
case bt
when 0 #isKonqueror
if ua.index('konqueror') then rs=true end
when 1 #isOpera
rs=isOpera
when 2 #isSafari
rs=isSafari
when 3 #isSafari2
rs=isSafari && !isSafari3
when 4 #isSafari3
rs=isSafari3
when 5 #isIE
rs=isIE
when 6 #isIE6
rs=isIE && !isIE7
when 7 #isIE7
rs=isIE7
when 8 #isGecko
rs=isGecko
when 9 #isGecko2
rs=isGecko && !isGecko3
when 10 #isGecko3
rs=isGecko3
when 11 #isWindows
if ua.index('windows') or ua.index('win32') then rs=true end
when 12 #isMac
if ua.index('macintosh') or ua.index('mac os x') then rs=true
end
when 13 #isAir
if ua.index('adobeair') then rs=true end
when 14 #isLinux
if ua.index('linux') then rs=true end
when 15 #isSecure
s = request.env['SERVER_PROTOCOL'].downcase
if s.index('https') then rs=true end
end
rs
end
isSafari3 = (ua.index('webkit/5')) ? true : false