Foren
Browser detection
Xinsheng Robert Chen, geändert vor 11 Jahren.
Browser detection
Junior Member Beiträge: 45 Beitrittsdatum: 30.03.10 Neueste Beiträge
Hi,
In Liferay portal 6.0 SP1, I can use the following code to get the browser information:
#set ($browserInfo = $request.get('attributes').get('User-Agent'))
#if ($browserInfo && $browserInfo.indexOf('msie 9') > 0)
... ...
#end
In Liferay portal 6.1.10, the content of "$request" is as follows -- it no longer contains the browser information.
com.liferay.portal.kernel.servlet.ProtectedServletRequest@113e2e0
However, there is a "$browserSniffer" for browser detection. It can be used as follows.
#set ($itIsChrome = $browserSniffer.isChrome($request))
#set ($itIsSafari = $browserSniffer.isSafari($request))
But when I was testing our Liferay portal site with Chrome 19.0, The "$browserSniffer" says that the browser is both Safari and Chrome.
#if($itIsSafari && $browserMajorVersion >= 5.0)
<strong>Safari >= 5.0</strong>
#end
#if($itIsChrome && $browserMajorVersion >= 14.0)
<strong>Chrome >= 14.0</strong>
#end
The output is:
Safari >= 5.0 Chrome >= 14.0
Do you know if there is something wrong? Or I am using the API in a wrong way?
Thanks!
In Liferay portal 6.0 SP1, I can use the following code to get the browser information:
#set ($browserInfo = $request.get('attributes').get('User-Agent'))
#if ($browserInfo && $browserInfo.indexOf('msie 9') > 0)
... ...
#end
In Liferay portal 6.1.10, the content of "$request" is as follows -- it no longer contains the browser information.
com.liferay.portal.kernel.servlet.ProtectedServletRequest@113e2e0
However, there is a "$browserSniffer" for browser detection. It can be used as follows.
#set ($itIsChrome = $browserSniffer.isChrome($request))
#set ($itIsSafari = $browserSniffer.isSafari($request))
But when I was testing our Liferay portal site with Chrome 19.0, The "$browserSniffer" says that the browser is both Safari and Chrome.
#if($itIsSafari && $browserMajorVersion >= 5.0)
<strong>Safari >= 5.0</strong>
#end
#if($itIsChrome && $browserMajorVersion >= 14.0)
<strong>Chrome >= 14.0</strong>
#end
The output is:
Safari >= 5.0 Chrome >= 14.0
Do you know if there is something wrong? Or I am using the API in a wrong way?
Thanks!
jelmer kuperus, geändert vor 11 Jahren.
RE: Browser detection
Liferay Legend Beiträge: 1191 Beitrittsdatum: 10.03.10 Neueste Beiträge
My chrome identifies itself as :
If you look at the code for BrowserSnifferImpl it becomes obvious why you are seeing the behaviour you are seeing
You should file a bug report in jira
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.53 Safari/536.5
If you look at the code for BrowserSnifferImpl it becomes obvious why you are seeing the behaviour you are seeing
You should file a bug report in jira