jquery - jqGrid 和 IE8 中的兼容性 View 模式

标签 jquery internet-explorer jqgrid ie8-compatibility-mode

在我的上一个项目中,我使用了 jqGrid 3.8.2、jQuery 1.4.4 和 jquery-ui-1.8.10。 我工作的公司仍然使用 IE8 作为网络浏览器,所以在我的开发中我总是使用该平台进行测试。 今天我注意到,当我使用 Visual Studio (2010) ASP.NET 开发服务器测试我的计算机 (winXP) 上的所有内容时,jqGrid 已正确呈现: Good

正如您所看到的,选择是完美的,并且标题也正常。

当我复制生产服务器(Win 2003 + IIS6.0)上的所有内容时,相同的表单以一种有趣的方式呈现。

Bad

正如您现在所看到的,行选择无法正常工作,并且标题中出现了这些奇怪的箭头。 PS:我使用同一台计算机和浏览器来呈现同一页面。 PPS:显然,如果我使用不同的(专业;-))浏览器(mozilla、safari、opera、chrome),一切都会正常工作。

最佳答案

出于某种奇怪的原因,IE8 为所有 Intranet 站点设置了“兼容性 View ”: Compantibility View Settings

所以我看不到网址栏旁边的“兼容性 View ”按钮。
我必须转到“工具”-“兼容性 View 设置”并取消选中“在兼容性 View 中显示 Intranet 站点”标志。
我的网站(内联网网站)没有以标准模式显示,一切都按预期工作。
感谢微软,我再一次因为你的愚蠢而浪费了几个小时。

更新

正如 Oleg 建议的那样,您可以将这些标记添加到您的配置文件(ASP.NET 和 MVC)中:

<system.webServer>
      <httpProtocol>
      <customHeaders>
        <clear />
        <add name="X-UA-Compatible" value="IE=8" />
      </customHeaders>
    </httpProtocol>
    ...
</system.webServer>

但这仅适用于 IIS7 原因 <system.webServer> IIS6不使用。
实现相同结果的更好方法 - 它对我有用 - 是将 META 标记放在母版页的 HEAD 部分中:

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

我已经对其进行了测试,即使您启用了“在兼容性 View 中显示 Intranet 站点”,它也能正常工作。

关于jquery - jqGrid 和 IE8 中的兼容性 View 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5262775/

相关文章:

javascript - 正则表达式 JavaScript。使用当前正则表达式解析日志文件

javascript - PHP 内嵌框架 |每 X 次刷新一次并翻阅页面数组

angular - punycode 使用箭头函数编译并使其无法在 ie 11 中呈现

jqgrid:如何将搜索运算符信息发送到服务器端

javascript - jQuery 事件冒泡 : How to capture a nested click?

javascript - IE 在提交时清除输入[类型 ="file"]

html - CSS Font Awesome 图标在 IE 10 中可点击

events - 本地删除 jqgrid 后触发事件

javascript - 当我单击 FormatImage 时显示确认对话框

javascript - 在 Javascript 中返回对象