【发布时间】:2015-04-09 19:02:33
【问题描述】:
我不知道如何在 Javascript 或 HTML 中解决这个问题。我有客户目前使用为 ie9 及以下构建的 Web 应用程序。这些遗留应用程序在 IE11 上无法正常运行。 IT解决方案是启用企业模式。企业模式旨在避免“与在旧版本 Internet Explorer 上编写和测试的 Web 应用程序相关的常见兼容性问题”。
见:http://www.eightforums.com/tutorials/43972-ie11-enterprise-mode-enable-disable-users.html
在使用 Bootstrap 和 AngularJS 编写的 Web 应用程序上启用企业模式似乎存在问题。即,除非禁用企业模式,否则响应式根本不起作用。不仅是 AngularJS 和 Bootstrap,还有其他库。
我正在寻找的解决方案是一种通过 javascript 检查企业模式状态的方法,然后告诉用户启用/禁用该模式。更好的是,如果它可以通过 JS 或 HTML 属性自动关闭/打开。
在 document.x 和 window.x 对象中窥探,我没有看到任何属性,我们可以告诉我企业模式已启用。有什么建议吗?
复制:
- IE11 > 开发者工具 > 控制台 > 输入窗口
- IE11>开发者工具>控制台>输入文档
【问题讨论】:
-
如果企业模式类似于兼容模式,您应该能够根据特定版本号检查
document.documentMode。 -
听起来你在寻找X-UA-Compatible 元标记。设置它不需要用户端的任何操作,并允许您的页面指定它应该呈现的文档模式,而不管浏览器默认值如何。
-
@Waxen 我认为 IE 设置可以覆盖该标签。
-
@user1620220 我不知道“企业模式”,但元标记肯定会取代已经存在了一段时间的“以兼容模式显示 Intranet 站点”设置。
X-UA-Compatible标签的全部意义在于让开发人员能够指定文档模式,期望浏览器默认比网站自己的开发人员更了解是愚蠢的。但话又说回来,我永远不会停止对 IE 团队多年来做出的愚蠢决定感到惊讶。