0

他们是否在 gwt 或 gwt 引导程序中找到运行 Web 应用程序的设备。比如设备是iphone、平板、desktop.ipad等,请帮忙。

4

2 回答 2

2

设置

GWT 允许您定义将在执行延迟绑定机制期间解析的属性(您的应用程序启动序列的一部分,请参阅此处的延迟绑定元素 )。例如,在您的应用程序文件中定义它: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

  • 模块 XML 定义中(例如用于 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代码?只能通过延迟绑定

于 2013-07-18T13:39:51.393 回答
1

You don't need bootstrap at all to know which browser your client is running on.

Just call...

Navigator.getUserAgent() 

...to get the user-agent of the browser.

A list of all user-ager avaiable is provided here:

http://www.useragentstring.com/pages/All/

For instance, check for "ipad" match in user-agent String.

于 2013-07-18T13:33:05.977 回答