【问题标题】:Why my HTC files are not loading in IE quirks mode为什么我的 HTC 文件没有在 IE 怪癖模式下加载
【发布时间】:2016-12-21 20:04:54
【问题描述】:

我有一个在 CSS 中使用 HTC 行为的大型旧版 Web 应用程序。例如,

.tabButtons
{
    BEHAVIOR: url(/Echo/common/behaviors/tabPanel.htc);
}

这将在 IE 11 中工作,但我必须转到 兼容性视图设置 并添加域。

可以用别的方式使用 CSS behavior 吗?

我试着放了

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

在页眉的顶部。这似乎调用了怪癖模式,因为当我执行 alert("compatMode = " + document.compatMode) 时,它会显示 BackCompat

但是 CSS 行为仍然不起作用。它甚至不会尝试获取文件tabPanel.htc

我还能尝试什么?

【问题讨论】:

    标签: quirks-mode html-components


    【解决方案1】:

    已在 Internet Explorer 10 标准和怪癖模式中删除了对元素行为和 HTML 组件 (HTC) 的支持,以提高互操作性和与 HTML5 的合规性。这意味着以前绑定到元素行为或 HTC 的元素将被视为通用元素,就像在其他浏览器中一样。此更改可能会影响专门为 Windows Internet Explorer 编写的页面或使用浏览器嗅探来改变其在 Internet Explorer 中的行为的页面。

    尝试在页面顶部附近添加以下元标记以选择启用 Internet Explorer 9 行为:

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

    来源:https://msdn.microsoft.com/en-us/library/hh801216(v=vs.85).aspx

    您总是可以尝试使用严格的文档类型,而不是过渡性的。即:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    

    虽然这些是解决方法,但修改代码将是最好的解决方案。

    【讨论】: