2

这可能与 ExtJS 没有任何关系,但我必须提供所有信息才能得到正确的答案:D。

我有一个使用 ExtJS 4.1 来显示一些网格面板的应用程序。

当我在 localhost 上运行应用程序时,一切看起来都正常。

当我在远程服务器上部署应用程序时,IE8 中不再按要求显示网格:所有信息都挤在表格中,与列对齐方式无关(列标题很好,但其他单元格重叠)。

为了使事情更普遍:

相同的应用程序在 localhost 上运行良好(无论在哪台计算机上),但是当我将它部署在服务器上时,IE8 不会按应有的方式显示内容。这是因为 CSS 或 JavaScript 文件(可能都与 ExtJS 有关)。

为什么?

4

2 回答 2

1

根据 OP 的要求,将此作为答案发布:

默认情况下,IE 运行时为 Intranet 站点启用了兼容性视图。这样做的原因可能是大多数使用 IE 的 Intranet 站点都是专门为 IE 编写的,因此当 IE 开始更接近标准时就会崩溃。

这可能会导致在本地查看的内容与在 Intranet(和 Internet)上查看的内容之间存在差异。这可以通过 Windows 组策略全面更改;有些组织可以接受这一点,有些组织不能/不会做出改变。

如果声明meta http-equiv="X-UA-Compatible" content="IE=edge"不能解决问题(如评论中所述),我将首先检查兼容性视图是否确实存在问题。

其他可能性
我假设您有正确的文档类型(例如 HTML 5 或 HTML 4 严格,尽管我相信其他人也可以正常工作)。这与“X-UA-Compatible”声明结合使用。

格式错误的标记会触发 Quirks Mode,这在几乎任何情况下看起来都很糟糕。情况可能并非如此,因为它在本地看起来不错,但很容易检查。确保您的文档是合理有效的,并且——更重要的是——在 DTD 之前没有前导字符(这会使解析器感到困惑)。不正确的服务器代码可能会导致数据在 HTML 之前写入响应流,从而导致此行为。

最后,将问题简化为最简单的形式,即找到导致该行为的最基本标记。如果这没有给您任何见解,请将损坏的代码发布到 JS Fiddle 中。

于 2012-07-30T11:19:00.920 回答
1

如果是IE8,检查开发者工具文档模式,可能会进入怪癖模式。

于 2012-07-27T11:55:22.447 回答