有条件地在IE11中加载以IE8兼容模式运行的脚本

时间:2014-06-06 08:20:18

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

我的应用程序目前动态包括用于IE7和IE8的jQuery 1.11版本,但是使用条件注释的IE9 + / Chrome / FF的jQuery 2。

<!--[if lt IE 9]>
@Scripts.Render("~/bundles/jquery-legacy")
<![endif]-->
<!--[if (gte IE 9) | (!IE)]><!-->
@Scripts.Render("~/bundles/jquery")
<!--<![endif]-->

这在所有IE版本中运行良好,包括所有兼容模式。不幸的是,即使IE11在兼容模式下运行,它也会忽略条件注释。通常这不会是一个问题,因为<meta http-equiv="X-UA-Compatible" content="IE=edge">强制边缘模式。不幸的是有一个例外 - 如果Active Directory策略指定了一些 Enterprise 兼容模式,它会覆盖所有网页设置并强制浏览器处于IE8模式。

重写脚本加载以使用类似require.js的内容并不是现有应用程序的一个选项。

我错过了什么可以帮助我有条件地加载脚本或强制浏览器处于边缘模式,即使AD说不然?

1 个答案:

答案 0 :(得分:1)

企业模式使用IE8的文档模式运行,但它似乎不在浏览器模式下,因此它会跳过像常规IE11这样的条件注释。

我已设法使用以下元标记更改该模式。

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

企业模式仅读取IE8兼容性。其他版本(如IE9及更高版本)读取并支持边缘模式,该模式为您提供这些浏览器的最新功能。

相关问题