他们是否在gwt或gwt bootstrap中找到运行Web应用程序的设备。 就像设备是iphone,平板电脑,desktop.ipad等一样,请帮助。
答案 0 :(得分:2)
GWT允许您定义将在执行延迟绑定机制期间解析的属性(应用程序启动序列的一部分,请参阅延迟绑定的元素 here)。例如,在应用的gwt.xml
文件中定义此内容:
<define-property name="formfactor" values="desktop,tablet,mobile" />
然后在同一个文件中提供:
<property-provider name="formfactor">
<![CDATA[
// my User Agent String-parsing JavaScript code
]]>
</property-provider>
有关完整示例,请参阅MobileWebApp,一个GWT示例应用。具体来说,请查看FormFactor.gwt.xml。
一旦您设置了自己的媒体资源并对其提供商进行了规划,您的应用中就会有多个地方可以达到该媒体资源的价值:
CSS:
@if formfactor mobile {
/* my mobile form factor-specific rules */
}
(有关更多受支持的规则,请参阅CssResource)
在module XML definition中(例如,对于ClientFactory选择):
<replace-with class="com.my.client.ClientFactoryImplDesktop">
<when-type-is class="com.my.client.ClientFactory" />
<when-property-is name="formfactor" value="desktop" />
</replace-with>
Java代码? Only via deferred binding
答案 1 :(得分:1)
您根本不需要引导程序来了解您的客户端正在运行哪个浏览器。
请致电...
Navigator.getUserAgent()
...获取浏览器的用户代理。
此处提供了所有用户可用的列表:
http://www.useragentstring.com/pages/All/
例如,检查用户代理字符串中的“ipad”匹配。