我有一个托管在 Jetty 中的 GWT 2.4.0 网站。当我使用 IE8 浏览此网站时,我收到以下警报消息:
错误:您的 *.gwt.xmi 模块文件可能存在问题。编译时 user.agent 值 (ie8) 与运行时 user.agent 值 (safari) 不匹配。期待更多错误。
为什么 GWT 认为我的运行时用户代理是 Safari?我怎样才能让它知道它实际上是 IE8?我是否怀疑在我的 IE8 中安装了 Chrome Frame 插件与此有关?
我有一个托管在 Jetty 中的 GWT 2.4.0 网站。当我使用 IE8 浏览此网站时,我收到以下警报消息:
错误:您的 *.gwt.xmi 模块文件可能存在问题。编译时 user.agent 值 (ie8) 与运行时 user.agent 值 (safari) 不匹配。期待更多错误。
为什么 GWT 认为我的运行时用户代理是 Safari?我怎样才能让它知道它实际上是 IE8?我是否怀疑在我的 IE8 中安装了 Chrome Frame 插件与此有关?
当 GWT 模块只用一个编译时,user.agent
它不会在引导 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 配置以查看加载了哪些页面:全部、无、某些 URL 等...
检查您的 *gwt.xml 文件。它是否有类似这样的东西:
<set-property name="user.agent" value="safari" />
这告诉它只编译 safari 版本。