Java GWT 2.5.1和Kindle paperwhite用户代理

Java GWT 2.5.1和Kindle paperwhite用户代理,java,gwt,user-agent,kindle,Java,Gwt,User Agent,Kindle,我正在使用GWT2.5.1,我正在使用KindlePaperWhite型号EY21的浏览器,使用Tomcat7.0.32部署.war 问题是GWT无法正确获取Kindle的用户代理,我的意思是,我得到以下值: 从我的服务器: getMyThreadLocalRequest().getHeader(“用户代理”)--> Mozilla/5.0(X11;U;Linux armv7l类似Android;en-us)AppleWebKit/531.2+(KHTML类似Gecko)版本/5.0 Safa

我正在使用GWT2.5.1,我正在使用KindlePaperWhite型号EY21的浏览器,使用Tomcat7.0.32部署.war

问题是GWT无法正确获取Kindle的用户代理,我的意思是,我得到以下值:

  • 从我的服务器: getMyThreadLocalRequest().getHeader(“用户代理”)--> Mozilla/5.0(X11;U;Linux armv7l类似Android;en-us)AppleWebKit/531.2+(KHTML类似Gecko)版本/5.0 Safari/533.2+Kindle/3.0+-->好

  • 从网站www.whatsmyuseragent.com--> Mozilla/5.0(X11;U;Linux armv7l类似Android;en-us)AppleWebKit/531.2+(KHTML类似Gecko)版本/5.0 Safari/533.2+Kindle/3.0+-->好

  • 从GWT 2.5.1库:Window.Navigator.getUserAgent()--> Mozilla/5.0(X11;;U;Linux armv7l;en-us)AppleWebKit/534.26+(KHTML,类似Gecko)版本/5.0 Safari/534.26+-->

因此,我认为GWT函数没有为KindlePaperWhite浏览器的用户代理获得正确的值

有什么想法吗


提前多谢

GWT在客户端计算user.agent值的方式在用于创建引导脚本的类中:

  body.println("var ua = navigator.userAgent.toLowerCase();");

  [...]

  // webkit family
  new UserAgentPropertyGeneratorPredicate("safari")
  .getPredicateBlock()
    .println("return (ua.indexOf('webkit') != -1);")
  .returns("'safari'"),
查看此代码和您发送的用户代理字符串,gwt必须选择
webkit
排列(因为用户代理包含webkit)

如果您没有收到任何错误,只是一个空白页,可能是您在模块文件中禁用了webkit浏览器排列(safari),或者您在项目中使用的是user.agent one之外的其他属性,并且某些属性组合与您的设备不匹配

如果您使用的是
xsiframe
链接器,请查看编译器输出文件夹中生成的compilation-mappings.txt文件,其中有一个包含排列名称和属性的列表