在IE11中,仅仅使用兼容性视图可能无法解决所有兼容性问题。2014年4月的IE11累积更新首次引入了企业模式。起初企业模式旨在模拟IE7、IE8浏览器行为以兼容更多的老旧站点,之后的更新中企业模式允许针对某个站点指定使用特定的文档模式(5~11)。所以为了使用到功能最全面的企业模式,请先将IE11更新至最新版本:KB4018271。

允许用户从“工具”菜单启用企业模式

用户在访问某个网站时可以手动从工具菜单中启用企业模式。默认情况下,企业模式这个选项是隐藏的,只有管理员启用下面的组策略设置后才能显示。

管理模板 > Windows组件 > Internet Explorer > 允许用户从“工具”菜单启用和使用企业模式(Let users turn on and use Enterprise Mode from the Tools menu)

在这个设置中还可以指定一个URL用来收集用户开启、关闭企业模式的相关报告。比如我将此URL设为:http://em-report/report.aspx 后,每当用户从工具菜单中开启或关闭企业模式时,IE都会将用户的操作行为以POST请求形式发送到服务器。

用户访问 http://www.bing.com 时开启了企业模式,就会看到IE发出如下的请求。

POST http://em-report/report.aspx HTTP/1.1
Accept: */*
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko
Host: em-report
Content-Length: 50
DNT: 1
Proxy-Connection: Keep-Alive
Pragma: no-cacheURL=http%3A%2F%2Fwww.bing.com%2F&EnterpriseMode=On

当然你需要自己部署一台Web Server用来接受上面的数据并且开发相应的程序来保存、显示日志。你也可以阅读 设置企业模式日志记录和数据收集 了解如何在IIS上以ASP收集数据以及如何使用微软发布在GitHub上的示例 EMIE-Data_Collection_Sample 收集数据。

使用站点列表

IE会记住用户手动启用了企业模式的站点,并在下次访问该站点时直接使用企业模式,但是这仅针对该用户生效。IT管理员可以使用站点列表来统一管理每个站点使用什么样的浏览模式,然后通过组策略分发给所有用户。

站点列表是一个XML文件,该文件需要通过 Enterprise Mode Site List Manager 生成。

第一步:生成站点列表文件

使用Enterprise Mode Site List Manager可以添加规则使URL以某种兼容模式打开。URL添加的注意事项:

  • URL不需要指定协议,IE会自动匹配http和https。
  • 最新版的Enterprise Mode中URL可以指定端口号,如:my-site:8080
  • URL不支持 “*”(通配符),但是指定microsoft.com,会等同于:\*.microsoft.com
  • 可以添加某个域名下的多个路径以便让它们使用不同的浏览模式,如:分别为site/app1site/app2指定不同的浏览模式。

详细步骤可以看:

  • 使用 Windows 10 Enterprise Mode Site List Manager 工具将站点添加到企业模式站点列表
  • 使用 Windows 7 和 Windows 8.1 Enterprise Mode Site List Manager 工具将站点添加到企业模式站点列表

总共有9种浏览模式可选择,这些模式的作用、效果如下表所示。

浏览模式 浏览器发出的UA字串 默认文档模式的选择(无X-UA-Compatible) 是否遵循X-UA-Compatible值
Default Mode Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko 文档模式11
IE8 Enterprise Mode Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E) 有DOCTYPE声明使用文档模式8,否则使用5。 是,但文档模式不高于8。
IE7 Enterprise Mode Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E) 有DOCTYPE声明使用文档模式7,否则使用5。 是,但文档模式不高于8。
IE11 Document Mode Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko 文档模式11
IE10 Document Mode Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/7.0) 文档模式10
IE9 Document Mode Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/7.0) 有DOCTYPE声明使用文档模式9,否则使用5。
IE8 Document Mode Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E) 有DOCTYPE声明使用文档模式8,否则使用5。
IE7 Document Mode Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E) 有DOCTYPE声明使用文档模式7,否则使用5。
IE5 Document Mode Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E) 文档模式5

第二步:配置使用站点列表

生成XML文件后,我们可以启用并配置下面的组策略设置来使IE11使用指定的站点列表。

管理模板 > Windows组件 > Internet Explorer > 使用企业模式IE网站列表(Use the Enterprise Mode IE website list)

URL可以是:HTTP地址、本地网络或本地文件。

  • HTTP地址:http://test-server/em.xml
  • 本地网络:\\test-server\share\em.xml
  • 本地文件:file://c:\site\em.xml

我们也可以通过修改注册表键值在单台机器上配置使用站点列表,请参阅:打开企业模式并使用站点列表。

常见问题

为何访问站点列表中的某些站点时地址栏不显示企业模式图标?

在配置站点列表时可以选择9种模式,只有IE8 Enterprise Mode和IE7 Enterprise Mode才会在地址栏中显示企业模式图标。

如何确定站点列表正常工作?

  1. 根据上文给出的9种模式所对应的作用、效果表格,检查IE在访问站点列表中的站点时是否发出了正确的User-Agent字串以及选择了正确的文档模式。

  2. 检查以下注册表项是否被创建并且它的值是否与站点列表XML文件中的“rules”根节点的“version”属性值相同。

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Enterprise Mode\CurrentVersion

如何更新站点列表?

建议使用Enterprise Mode Site List Manager来维护和更新站点列表,每次修改站点列表它会自动增加rules根节点中的version值(版本号) 。如果手动更新文件,记得每次都要修改rules根节点中的版本号。生成新的XML文件后,替换旧的文件即可。

为何IE还在使用老版本的站点列表?

当你刚更新完站点列表后,IE并不会马上使用新的站点列表。IE启动完65秒后会重新获取XML文件,如果发现服务器文件的版本号与缓存中的版本不同,则使用服务器文件并将其存储在缓存中。你可以通过查看注册表项:HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Enterprise Mode\CurrentVersion来确定当前使用XML文件的版本号。你还可以通过删除注册表项:HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Enterprise Mode并重启IE使其立刻从服务器获取当前的XML文件。

IE7 Enterprise Mode与兼容性视图的区别

  • IE7 Enterprise Mode下User-Agent字串的操作系统版本一定是:Windows NT 6.1,Trident版本一定是:Trident/4.0
  • 兼容性视图的User-Agent字串中的操作系统版本与Trident版本根据实际情况如实显示。
  • IE7 Enterprise Mode下文档模式最高为8。即便有X-UA-Compatible指定了IE=edge,文档模式依然为8。
  • 兼容性视图下依然可以通过X-UA-Compatible来指定使用任何文档模式。

兼容性视图是否与企业模式冲突?

浏览模式 与兼容性视图混用效果
Default Mode 兼容性视图优先
IE8 Enterprise Mode 会使用IE7 Enterprise Mode
IE7 Enterprise Mode IE7 Enterprise Mode优先
其余模式 兼容性视图不生效

为何工具菜单中的企业模式选项是禁用的(灰色的)?

如果某个URL在站点列表中可以完全匹配,并且它的域名是配置在IE7 Enterprise Mode或IE8 Enterprise Mode下的,那么用户将无法针对这个URL手动禁用或启用企业模式。简而言之管理员已经在站点列表中指定了该站点是否使用企业模式,那么用户就没有权限再更改了。

用户手动企业模式选择与站点列表会冲突吗?

IE会优先使用用户的选择,但是每当站点列表有更新时,用户的选择将被清除。

参考资料

  • 什么是企业模式?

了解和使用IE11企业模式相关推荐

  1. 小米MIUI10企业模式上线,万物基于MIUI正在向你靠近

    小米MIUI10企业模式上线,万物基于MIUI正在向你靠近 欲善其事,先利其器,首先我们需要激活企业模式.打开手机系统设置,打开更多设置,在系统安全下面就能看到"企业模式":点击进 ...

  2. 强制IE11 兼容模式浏览网页

    问题:新安装的server 2012 r2系统,IE11打不开之前开发的很多网站. 解决:设置 →兼容性视图设置→添加网站 然后访问网站就自动适应兼容模式了.

  3. ie10和ie11支持html5吗,IE11兼容模式和IE10兼容模式有什么区别

    不仅有一个"兼容模式",但有几个. v8和v11之间的所有IE版本都提供兼容模式.早在IE7的早期版本中就有一个兼容模式.因此,IE8提供IE7兼容模式,IE9提供IE8和IE7兼 ...

  4. vue2.0 IE11兼容模式

    项目使用vue2.0 + elementUI. 浏览器兼容使用:https://cdn.polyfill.io/v2/polyfill.min.js 这个项目一直都是使用IE的标准模式访问,前几天客户 ...

  5. 小心IE9|IE10|IE11渲染模式下的DOM操作。FEATURE_BROWSER_EMULATION

    大家在使用IE控件来让用户浏览网页的时候,一般都会添加FEATURE_BROWSER_EMULATION注册表项, 来让IE内核版本支持更高(不加默认最高IE7),从而达到更好的体验,如,拖动不卡,支 ...

  6. 支持持久化的基础设施代码所需的企业模式

    1 工作单元 2 资源库 3 数据映射器 4 标识映射 5 延迟加载 6 查询对象 http://down.51cto.com/ 转载于:https://www.cnblogs.com/Darak/a ...

  7. ie11开发者模式打开空白

    Internet选项--高级--取消  禁用脚本调试(Internet explorpr)

  8. Internet Explorer 11 Enterprise Mode 排错

    在开始本章内容之前,先探讨一下以下几种场景:企业客户端由Vista\xp升级到Windows 7.8.8.1.10后:企业Windows 7客户端补丁更新或Windows 8.1 更新:个人用户补丁自 ...

  9. Parallels Desktop 和虚拟机的个人调教

    http://irising.me/2014/06/17788/ 装虚拟机的目的主要是为了兼容文档和访问一些的只能向下兼容的政府类网站,文档方面Windows下的Office依旧还是主流,而Offic ...

最新文章

  1. 【C#公共帮助类】10年代码,最全的系统帮助类
  2. C 语言 cgi 程序简单总结
  3. 使用Java API创建(create),查看(describe),列举(list),删除(delete)Kafka主题(Topic)--转载...
  4. log4net环境配置
  5. WebService实例-CRM系统提供WebService实现用户注册功能
  6. 软件测试 测试停止标准_停止正常测试
  7. phpstudy编写html,phpStudy简介
  8. 依赖注入(Dependency Injection)框架是如何实现的?
  9. DBSCAN聚类算法初探(五)
  10. HBASE table导出到文件的方法
  11. hex文件转bin格式
  12. 软件测试之TCP、UPD协议详解
  13. 皮卡丘(pikachu)暴力破解
  14. 创新趋势 | SaaS增长新趋势:产品驱动增长PLG(上)
  15. 《我的初恋、我的老婆》超爆笑!!
  16. WPS的新建文档的体验
  17. 雷军:向小米手机1首批用户每人赠送1999元红包
  18. svn服务器搭建(一) VisualSVN-Server
  19. div、span、label标签的区别
  20. scrapy爬取斗图表情

热门文章

  1. ubuntu黑屏无法进入系统
  2. LAMP服务器安装配置Discuz论坛
  3. 基于深度学习的海洋动物检测系统(Python+YOLOv5+清新界面)
  4. IDEA 常用快捷键以及调试
  5. chrome清除缓存、不使用缓存而刷新快捷键
  6. 最早的公钥算法--单向陷门函数
  7. 全职妈妈在家可以做什么兼职、适合宝妈在家做的工作
  8. 设计模式学习笔记(八)—Template Method模式
  9. 图文并茂!三极管经典电路分析(转载)
  10. 扒整站项目--IDM工具