2012-08-28 33 views
1

我最近更改gwt.xml脚本,只编译1个排列(ie8只),这解决了我以前的问题,但是有一个整形问题出现,这是一个恼人的弹出窗口显示每次打开我的GWT页面与IE8GWT运行时UserAgent和编译时UserAgent不匹配

在这里我包括屏幕截图显示弹出窗口,任何帮助摆脱它将不胜感激。 enter image description here

更新:按照托马斯的建议,我已经能够通过编译为ie8和Safari浏览器摆脱该消息。然而从那以后我只能用我的IE9在IE9文档模式下打开网页无法与IE8的模式,我的用户在使用IE8

下面是gwt.xml代码片段

<set-property name="user.agent" value="ie8"/> 
<extend-property name="user.agent" values="safari" /> 
下面

是GWT开发日志显示异常,用户代理'Mozilla/4.0'确实让我困惑,因为我确实安装了Firefox 14.0.1。

11:12:17.143 [ERROR] [dca] Failed to load module 'dca' from user agent 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E; MS-RTC LM 8)' at 127.0.0.1:51883 

我还发现有针对IE浏览器谷歌浏览器框架插件,但是因为它是公司默认设置,这将是我的最后一招。

好的,这里是我的最终更新,在默认的GWT覆盖6个排列包括IE8,但是我的IE有Chromn Frame,它掩盖我的浏览器到safari,IE8和更旧的浏览器不支持“AddEventListener”方法,这是大多数GWT小部件依赖于。因此,我的IE8浏览器的gwt使用safari实现会在网页初始化时发生故障,说明对象不支持AddEventListener方法。

我第一次尝试设置GWT只编译IE8,然而,这产生上面显示的恼人的弹出,

第二次尝试设置GWT编译双方IE8和Safari浏览器,再此故障的addEventListener方法

一次尝试是利用浏览器内嵌框架,并设置

 <meta equiv="X-UA-Compatible" content="chrome=1"> 

使用Chrome的引擎,而不是IE引擎,它并没有做太多对我来说,同样的故事,这让IE浏览器与Chrome Frame的手柄网页。

我的最终解决方案是让GWT默认编译6个排列并禁用Chrome Frame,这是公司范围内的默认插件,但如果用户想要插件,那么他们应该真的获得实际的Chrome浏览器让自然选择发挥其魔力。

回答

2

GWT认为您的IE8是safari,您可能已安装Google Chrome浏览器框架,并且您的页面或服务器会发送the appropriate bits来激活它。

所以,要么:

  • 确保你的页面/服务器不尝试启用Chrome Frame的客户
  • 上编译IE8 野生动物园(2个排列):<set-property name="user.agent" value="ie8,safari" />
  • 卸载Chrome Frame
  • 或者如果只是在开发/测试您的应用程序时加快迭代速度,只编译safari排列
+0

嘿托马斯,thx的帮助,请参阅我的更新 –

+0

'扩展属性'不会做你认为它的确如此。看到我更新的答案。 –

+0

我的问题解决了,非常感谢,临时禁用Chrome Frame到底 –