如何找到GWT项目会话中使用的客户端浏览器?

如何找到GWT项目会话中使用的客户端浏览器?,gwt,browser,Gwt,Browser,我用过: 但我得到的结果是这样的: Navigator.getUserAgent().toLowerCase() 我正在使用Chrome并在Eclipse中开发。我可能只是在输出中查找“chrome”或“firefox”之类的字符串,但请注意,输出中同时包含“chrome”和“safari”。是否有其他API可供选择 至少可以确定浏览器是手机(iphone/android手机)、平板电脑(ipad)还是桌面电脑(chrome/IE/firefox)?是的,可以确定使用哪种类型的客户端。如果实现

我用过:

但我得到的结果是这样的:

Navigator.getUserAgent().toLowerCase()
我正在使用Chrome并在Eclipse中开发。我可能只是在输出中查找“chrome”或“firefox”之类的字符串,但请注意,输出中同时包含“chrome”和“safari”。是否有其他API可供选择


至少可以确定浏览器是手机(iphone/android手机)、平板电脑(ipad)还是桌面电脑(chrome/IE/firefox)?

是的,可以确定使用哪种类型的客户端。如果实现本机GWT特性,解决方案将更加方便

见:

您还可以使用自定义属性的自定义JavaScript提供程序


注意

要使GWT应用程序具有与浏览器兼容的视图,如果愿意,应添加特定于浏览器的视图

mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/27.0.1453.94 safari/537.36

嗅探是唯一的方法,不推荐使用——为什么要这样做?我正在尝试制作响应性的网页设计。
<replace-with class="com.example.PopupInSafari">
   <when-type-is class="com.example.Popup"/>
   <when-property-is name="user.agent" value="safari"/>
</replace-with>
String mUserAgent = Window.Navigator.getUserAgent().toLowerCase();
boolean isInIosDevice = mUserAgent.contains( "ipad" ) 
                        || mUserAgent.contains( "iphone" );
boolean isInMobile = mUserAgent.contains( "mobile" );