【问题标题】:GWT doesn't work in Internet Explorer 8GWT 在 Internet Explorer 8 中不起作用
【发布时间】:2010-07-27 13:10:10
【问题描述】:

今天我尝试编译我的第一个 GWT 项目(使用 Eclipse)。它具有默认的“en”位置和“bg”位置。我正在使用带有相应属性文件的 ui.xml 文件。

我唯一的问题是该项目在 Internet Explorer 8 中无法运行。Firefox 和 Chrome 没有问题。开始屏幕没问题,但是当我将文件上传到我的 servlet 并收到响应 JSON 时,发生了一些事情,我收到了这个 JS 错误

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.5; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C)
Timestamp: Tue, 27 Jul 2010 12:57:53 UTC

Message: Expected identifier, string or number
Line: 754
Char: 26
Code: 0
URI: http://127.0.0.1:8888/infonotarywebservices/AD560C7F0D3FD1787F6B5CDB74891CDC.cache.html

出错的行是:

function Ox(a,b){var c,d;c=eval(b.a);d=Gv(new Bv);d.d.innerHTML=FD;(fd(),d.d).innerText=KH;Mx(a,c,d);Uu(a.d);Zv(a.d.g,d);Pv(d,true,true)}

我必须知道什么?

附:无论我在 IE 中打开什么本地化版本,都会发生错误

【问题讨论】:

  • 您是否尝试过使用“漂亮”或“详细”输出来编译源代码?这应该让您更好地了解问题出在哪里。
  • 您的 GWT 模块文件是什么样的?您是否添加了要为哪些用户代理生成的限制?

标签: javascript internet-explorer gwt


【解决方案1】:

问题出在我的原生 javascript 源代码中,而不是从 GWT 编译的源代码。事实上,问题是从我的 servlet 生成的 JSON 中的语法错误。

我习惯在每个数组元素后面加上逗号,不管是不是最后一个(就像 PHP 数组一样)

[
  {"a": "b"},
  {"a": "b"},
  {"a": "b"},
  {"a": "b"}, <- invalid comma separator
]

Firefox 和 Chrome 理解这一点,但 Internet Explorer 中的 eval 失败

【讨论】:

  • 我的印象是多余的逗号会使 IE7 和更早的版本不接受这个,但 IE8 最终解决了这个问题。 IE8 是否在兼容模式下运行?
猜你喜欢
  • 2012-06-07
  • 1970-01-01
  • 1970-01-01
  • 2011-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-29
  • 1970-01-01
相关资源
最近更新 更多