Spesso può capitare di avere bisogno di conoscere le caratteristiche del browser o del client che ha inviato la richiesta, in modo da prendere decisioni specifiche. La richiesta arriva da un dispositivo mobile? O da Firefox? O magari da Internet Explorer?
Se vi è mai capitato di avere bisogno di una risposta a queste domande, sappiate che Liferay ha un'utilissima classe anche per questo; vediamo di cosa si tratta.
La classe in questione si chiama com.liferay.portal.kernel.servlet.BrowserSnifferUtil e possiede numerosi metodi per tutte (o quasi) le problematiche:
acceptsGzip(HttpServletRequest)isAndroid(HttpServletRequest)isChrome(HttpServletRequest)isFirefox(HttpServletRequest)isIe(HttpServletRequest)isIphone(HttpServletRequest)isLinux(HttpServletRequest)isMac(HttpServletRequest)isMobile(HttpServletRequest)isWindows(HttpServletRequest)- ...
Ciascuno di questi metodi è abbastanza ovvio e può essere invocato ovunque, sia all'interno di una classe Java che di una JSP, e può essere molto utile per eseguire elaborazioni differenti a seconda del dispositivo.
E se invece avessi bisogno delle stesse informazioni anche lato Javascript? Non è un problema perchè, anche in questo caso, Liferay ci mette a disposizione l'oggetto Javascript corrispondente alla classe BrowserSnifferUtil:
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()- ...