I cookie ci aiutano a fornire i nostri servizi.

Utilizzando tali servizi, accetti l'utilizzo dei cookie da parte nostra. Per saperne di piu'

Approvo

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()
  • ...