为什么我的HTC文件没有在IE怪癖模式下加载

时间:2016-12-21 20:04:54

标签: quirks-mode html-components

我有一个在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

我还能尝试什么?

1 个答案:

答案 0 :(得分:3)

  

在Internet Explorer 10标准和怪癖模式中删除了对元素行为和HTML组件(HTC)的支持,以提高互操作性并符合HTML5。这意味着先前绑定到Element Behaviors或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,而不是过渡。即:

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

虽然这些是变通办法,但修改代码将是最佳解决方案。