2

我用了:

Navigator.getUserAgent().toLowerCase()

但我得到的输出是这样的:

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

我正在使用 Chrome 并在 Eclipse 中进行开发。我可能只在输出中查找“chrome”或“firefox”之类的字符串,但请注意输出包含“chrome”和“safari”。是否有一些替代API?

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

4

2 回答 2

2

要为 GWT 应用程序提供与浏览器兼容的视图,您应该根据需要添加特定于浏览器的视图。

<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" );
于 2013-06-07T02:47:37.223 回答
1

是的,可以确定使用的客户端类型。如果您实现原生 GWT 功能,该解决方案将更加方便。

看:

https://developers.google.com/web-toolkit/doc/latest/DevGuideCodingBasicsDeferred#replacement

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

https://github.com/ArcBees/GWTP/blob/master/gwtp-core/gwtp-mvp-client/src/main/resources/com/gwtplatform/mvp/FormFactor.gwt.xml

PS https://github.com/ArcBees/GWTP/wiki/Form-Factors

于 2013-05-31T06:20:32.627 回答