HTML:如何强制IE11在HTML中模拟IE9?

时间:2014-10-02 08:27:15

标签: html css internet-explorer

如何在html中强制IE11使用IE9 css样式。

我使用了这段代码

<script runat="server">
        private void Page_PreRender(object sender, EventArgs e)
        {
            var meta = new HtmlMeta();
            meta.Content = "IE=EmulateIE9";
            meta.HttpEquiv = "X-UA-Compatible";
            this.Page.Header.Controls.AddAt(0, meta);
        }
</script>

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

要获得相同的样式,当所有版本的Internet Explorer时,以ie9为标准。

我正在做这段代码:

<!--[if IE]>
        <link rel="stylesheet" type="text/css" href="~/App_Themes/CocktailSite/master-interno-ie.css" media="screen" />
   <!--[else]>
        <link rel="stylesheet" type="text/css" href="~/App_Themes/CocktailSite/master-interno.css" media="screen" />
<![endif]-->

当它是IE9并且使用master-interno-ie.css时它正在工作但是在IE11中需要master-interno。

我在这里回答所有答案,而不是我的情况。

2 个答案:

答案 0 :(得分:0)

IE no longer evaluates conditional HTML comments

  

从Internet Explorer 10开始,不再有条件注释   标准模式支持。使用特征检测来提供   网站功能的有效后备策略不是   由浏览器支持。

答案 1 :(得分:0)

我使用jQuery获得它。

脚本和链接之间的

我编码:

function isIE() {
    var sAgent = window.navigator.userAgent;
    var Idx = sAgent.indexOf("MSIE");

    // If IE, return version number.
    if (Idx > 0) return true;    
    // If IE 11 then look for Updated user agent string.
    else if (!!navigator.userAgent.match(/Trident\/7\./)) return true;
    else return false; //It is not IE
}

之后我得知:

if (isIE()) {
    jQuery('head').append('<link rel="stylesheet" type="text/css"     href="~/App_Themes/CocktailSite/master-interno-ie.css" media="screen" />');
}     

它正在为我的需要而努力。

测试所有IE版本,CHROME和FIREFOX