4

所以我有一个在 IE6-8 和大多数现代浏览器中完美运行的 GWT 应用程序。不幸的是,由于 IE9 如何处理元素onchange事件的一个已知错误<select>,它在 IE9 中几乎无法使用。

因此,我没有让我们的客户降级到 IE8,而是有了让 IE9 模拟 IE8 的绝妙主意。我将此元标记放在我的 GWT 主机页面中:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" >

当我查看 IE9 开发人员工具 ( F12) 时,我看到它的“浏览器模式”是 IE9,“文档模式”是 IE8 标准。但是,GWT 应用程序没有加载:它在 GWT 生成的一个压缩和混淆的 JavaScript 函数中给了我一个 JavaScript 错误。我没有能力通过 IE 调试应用程序,所以我不知道发生了什么。

我怀疑这与 GWT 检测正在使用的浏览器并为会话加载适当资源的方式有关。

编辑添加:当我尝试使用IE=8而不是 时IE=EmulateIE8,开发工具仍然报告 IE9/IE9 标准模式,并且与onchange我在普通 IE9 中运行时存在所有相同的事件问题。

是否有一种工作方式可以使 IE9 以http-equiv元标记的方式模拟 IE8 标准模式,适用于 GWT 2.4?

4

1 回答 1

1

我遇到过类似的问题:IE 忽略<meta http-equiv="X-UA-Compatible" content="IE=9">标签(我试图阻止 IE8 以 IE7 兼容模式显示页面)。这是由于没有 X-UA-Compatible 元作为<head>. 我将它设置为第一个孩子<head>并添加<!DOCTYPE HTML>到所有内容之上,并且它起作用了。

于 2012-09-24T14:39:23.407 回答