It can often happen that you need to know some informations from the browser or the client that sent the request, in order to make specific decisions. The request is from a mobile device? Or from Firefox? Or maybe from Internet Explorer?
If you ever needed to have an answer to these questions, let's know that Liferay has a very useful class for this purpose; let's see what it is.
This class is called com.liferay.portal.kernel.servlet.BrowserSnifferUtil and it has many methods for all (or almost) issues:
acceptsGzip(HttpServletRequest)isAndroid(HttpServletRequest)isChrome(HttpServletRequest)isFirefox(HttpServletRequest)isIe(HttpServletRequest)isIphone(HttpServletRequest)isLinux(HttpServletRequest)isMac(HttpServletRequest)isMobile(HttpServletRequest)isWindows(HttpServletRequest)- ...
Each of these methods is quite obvious and can be invoked everywhere, both inside a Java class or inside a JSP, and can be very useful to follow different ways depending on the device.
But what if I need the same information also within JavaScript? That's not a problem because, even now, Liferay provides the JavaScript object corresponding to the BrowserSnifferUtil class:
Liferay.Browser.acceptsGzip()Liferay.Browser.isAndroid()Liferay.Browser.isChrome()Liferay.Browser.isFirefox()Liferay.Browser.isIe()Liferay.Browser.isIphone()Liferay.Browser.isLinux()Liferay.Browser.isMac()Liferay.Browser.isMobile()Liferay.Browser.isWindows()- ...