GWT和Google Chrome Frame Bug:“编译时user.agent值与运行时user.agent值不匹配”

时间:2012-03-06 12:59:44

标签: gwt google-chrome-frame

我在Jetty托管了一个GWT 2.4.0网站。当我使用IE8浏览本网站时,我收到以下警告信息:

  

错误:* .gwt.xmi模块文件可能出现问题。   编译时user.agent值(ie8)与运行时user.agent不匹配   价值(野生动物园)。期待更多错误。

为什么GWT认为我的运行时用户代理是Safari?我怎么能让它知道它实际上是IE8?我怀疑在我的IE8中安装了Chrome Frame插件是否与此有关?

2 个答案:

答案 0 :(得分:0)

检查* gwt.xml文件。它有这样的东西:

<set-property name="user.agent" value="safari" />

这告诉它只编译safari版本。

答案 1 :(得分:0)

当只使用一个user.agent编译GWT模块时,它不会在引导程序javascript中检查它,而是直接加载该版本。当该版本检查user.agent时,它会找到(我猜)你的Chrome框架并抱怨它的Safari。

所以...我猜你只用以下代码编译了你的模块:

<set-property name="user.agent" value="ie8">

我应该检查ChromeFrame与GWT行为的关系......或者只是添加user.agents并让模块引导程序加载适合您运行时环境的内容。

<set-property name="user.agent" value="ie8,safari">

当然,我应该检查您的ChromeFrame配置,看看哪些网页加载了它:全部,无,一些网址等......