Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用GWT识别支持触摸/手势的设备_Gwt_Mobile_Touch_Device_Jsni - Fatal编程技术网

使用GWT识别支持触摸/手势的设备

使用GWT识别支持触摸/手势的设备,gwt,mobile,touch,device,jsni,Gwt,Mobile,Touch,Device,Jsni,我想知道是否有可能在GWT中识别设备是否能够触摸/手势事件 像iPhone这样的设备在很大程度上支持多点触摸事件。类似地,桌面上的Google Chrome也支持TouchEvents。目前,windows8已经设计了一个IE,它可以响应触摸事件 我正在开发一个应用程序,我想将某些功能限制为仅支持触摸/手势的设备!任何解决方案,请帮助?我认为除了UA嗅探之外没有其他方法。GWT目前不提供此类实用程序 此外,在gwt为我们提供一个直接的javascript api之前,在现有的javascript

我想知道是否有可能在GWT中识别设备是否能够触摸/手势事件

像iPhone这样的设备在很大程度上支持多点触摸事件。类似地,桌面上的Google Chrome也支持
TouchEvents
。目前,windows8已经设计了一个IE,它可以响应
触摸事件


我正在开发一个应用程序,我想将某些功能限制为仅支持触摸/手势的设备!任何解决方案,请帮助?

我认为除了UA嗅探之外没有其他方法。

GWT目前不提供此类实用程序

此外,在gwt为我们提供一个直接的javascript api之前,在现有的javascript技术上编写jsni是有意义的


对于windows 8,要引用的msdn文档是

我使用用户代理签入延迟绑定来完成此操作。我创建了一个白名单,以便以后可以添加更多设备

这是代码,

<!-- Definitions for mobile -->
<define-property name="mobile.user.agent" values="android, ios, not_mobile" />
<property-provider name="mobile.user.agent"><![CDATA[
{
   var ua = window.navigator.userAgent.toLowerCase();
   if (ua.indexOf("android") != -1) { return "android"; }
   if (ua.indexOf("iphone") != -1) { return "ios"; }
   if (ua.indexOf("ipad") != -1) { return "ios"; }
     return 'not_mobile';
   }
]]></property-provider>

<!-- Constrain the value for non-webkit browsers -->
<set-property name="mobile.user.agent" value="not_mobile" >
  <none> <!-- Actually means NOR, in this case "not safari" -->
    <when-property-is name="user.agent" value="safari" />
  </none>
</set-property>

是的,我看到了这个。但这在Windows8上有问题。在Windows8中,它只是简单地接受一切,就像触摸一样……这是微软的经典做法:(。我们一直在定制代码,专门用于IE10。)?
<replace-with class="com.example.HTML5Player">
        <when-type-is class="com.example.FlashPlayer" />
        <any>
           <when-property-is name="mobile.user.agent" value="android" />
           <when-property-is name="mobile.user.agent" value="ios" />
        </any>
</replace-with>