对IE11引入的Enterprise Mode进行了一些总结,对查阅的一些参考资料直接引用了英文,需要注意的地方用中文进行了一些注解。供大家参考。
1. The purpose of introducing Enterprise Mode in IE11
(1) Starting with Windows 8.1 Update, Enterprise Mode is added to IE11.
Enterprise Mode is turned on by IT managers using Group Policy settings for specific domains or pages. It's much like the compatibility view settings, but provides Internet Explorer 8 compatibility. Webpages that work in Internet Explorer 8 work seamlessly in Enterprise Mode.
IE11 displays the Enterprise mode icon next to the address bar when displaying a page in Enterprise Mode.
To turn off Enterprise Mode on a webpage, change the Emulation tool's Profile drop-down to the Desktop option or toggle the Enterprise Mode option in the Tools menu.
When this option is selected, IE11 behaves like Windows Internet Explorer 8.
IE11 in Enterprise Mode presents an Internet Explorer 8 user-agent string to servers by default.【1】
(2) Enterprise Mode is basically IE8 compatibility mode on an enterprise level, when it’s enabled for a specific site, this site will be displayed in compatibility mode for IE8. This is meant to ease the move to Windows 8.1 for enterprise Windows 7 customers. Many of their internal company sites were designed for IE8 or lower, upgrading Windows would also mean upgrading to IE11 so these sites would need some upgrading too. System admins who are upgrading their company to IE11 can provide IE with a list of sites they’d like to be displayed in Enterprise Mode, or employees can manually turn on Enterprise mode via the tools menu if they sense a site isn’t working like it should.【2】
(3) IE8 is the browser variant that Microsoft integrated into Windows 7, which is the newer version of Windows favored by many business users. Similar to the case with Windows XP, many businesses have built and certified line-of-business apps specifically for the Windows 7/IE8 combination.
Microsoft has rolled out subsequent IE releases (IE9, 10 and most recently, 11) that can run on Windows 7. But not every enterprise is willing or able to move to these newer IE variants, in part because their companies have standardized on Windows 7/IE8.
This situation becomes especially problematic for Microsoft and its customers as Microsoft rolls out new software and services that no longer support the older IE variants. For example, Office 2013 and Office 365 don't support IE8. If a company is stuck on IE8, its admins might understandbly be reticent to move to Office 365 if IE8 isn't supported.
There may be a Microsoft-made solution to this dilemma, however. Sources say it's a new IE feature known as EMIE.
Users who need IE8 to view certain intranet sites and internal apps would still be able to move to IE11 on Windows 7 (or Windows 8.x) thanks to the new compatibility mode functionality. But they still would be able to make use of all the rest of IE11's features the rest of their browser needs. 【3】
2. How to configure Enterprise Mode.
Enterprise Mode can be enabled locally or via Group Policy.
Group Policy 可以让IT admin配置以便整个公司的员工可以在Enterprise Mode下使用内部Web服务。单个用户也可以通过设置Group Policy或注册表的方法来使本机的Enterprise Mode生效。下面是配置本地Enterprise Mode的方法(仅列出配置注册表的方法,设置Group Policy的方法参见参考文献)。
2.1 Set Enable【4】
(1) Open the registry editor- regedit.exe and go to HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\EnterpriseMode
.
NOTE:如果没有这些Key,可以自行创建。
(2) In the right pane, right-click and click New, click String Value, and then name the new value Enable.
(3) Right-click the Enable key, click Modify, and then type a Value data to point to a server that you can listen to for updates.
Your Value data location can be any of the following types:
- URL location (like, http://www.emieposturl.com/api/records or http://localhost:13000). Internet Explorer sends a POST message to the URL every time a change is made to Enterprise Mode from the Tools menu.
Important |
The http://www.emieposturl.com/api/records example will only work if you’ve downloaded the sample discussed in the Set up Enterprise Mode logging and data collection topic. If you don’t have the sample, you won’t have the web API. |
- Local network location (like, http://emieposturl/). Internet Explorer sends a POST message to your specified local network location every time a change is made to Enterprise Mode from the Tools menu.
- Empty string. If you leave the Value data box blank; your employees will be able to turn Enterprise Mode on and off from the Tools menu, but you won’t collect any logging data.
我们如果不需要收集logging信息,可以设置为Empty string。
After turn on local control of Enterprise Mode so that your users can turn Enterprise Mode on from the Tools menu.
Turning on this feature also adds the Enterprise Mode profile to the Emulation tab of the F12 developer tools.
2.2 Set SiteList【5】
(1) To turn on Enterprise Mode for all users on the PC:Open the registry editor- regedit.exe and go to HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Internet Explorer\Main\EnterpriseMode
.
(2) Edit the SiteList
registry key to point to where you want to keep your Enterprise Mode site list file. For example:
Value data的内容可以是以下三种形式:
- HTTP location: “SiteList”=”http://localhost:8080/sites.xml”
- Local network: "SiteList"="\\network\shares\sites.xml"
- Local file: "SiteList"="file:///c:\\Users\\<user>\\Documents\\testList.xml"
NOTE:上面图片中的Value data是错误的,不应该包含"SiteList"=" 这个前缀。正确的Value data如下图【6】:
一般使用HTTP location方式,比如http://localhost:8080/testList.xml
3. How to Add sites to the Enterprise Mode site list
如何创建上面的testList.xml文件呢?需要使用Enterprise Mode Site List Manager 。
下载Enterprise Mode Site List Manager,请参考【7】。
如何添加sites至the Enterprise Mode site list,请参考【8】。添加完成后,创建并保存一个testList.xml文件,保存于本地Web服务器的(IIS,Apache)localhost默认目录下(比如Apache下的htdocs目录下)。
NOTE:必须添加至Enterprise Mode Site List Manager中,仅编辑testList.xml文件不起作用。
4. Enterprise Mode Vs Compatibility View
(1) Enterprise Mode is turned on by IT managers using Group Policy settings for specific domains or pages. It's much like the compatibility view settings, but provides Internet Explorer 8 compatibility. Webpages that work in Internet Explorer 8 work seamlessly in Enterprise Mode【1】.
Enterprise Mode provide better compatibility. Some of the areas targeted by Enterprise Mode include【9】:
· User agent string differences. Many legacy Web apps use browser detection, not today’s best practice of feature detection. By replicating the original Internet Explorer 8 user agent string, Enterprise Mode works for sites that fail if they can’t recognize IE8 as the browser.
· ActiveX controls and other binaries. Some ActiveX controls silently fail if they query the browser version and get a response they don’t expect, so Enterprise Mode appeases these by mimicking IE8’s responses. In testing, customers report that many of these ActiveX controls “just work” in Enterprise Mode.
· Deprecated functionality. Internet Explorer 8 still contained some vestiges of proprietary functionality, such as CSS Expressions which was used to place objects dynamically on a page. This functionality was removed in later versions of Internet Explorer, but some legacy Web apps used this to place buttons and other elements. Enterprise Mode brings back some deprecated features, including CSS Expressions.
· Pre-caching and pre-rendering. Many modern browsers like Internet Explorer 11 pre-cache and pre-render pages, to make browsing more fluid. When you click on a pre-cached link, one tab disappears while the pre-rendered content tab appears in its place. To a legacy navigation controls, this behavior is confusing—so Enterprise Mode turns it off.
Speaking of performance, we’ve made a lot of browser improvements in the last five years; Internet Explorer 11 is dramatically faster than Internet Explorer 8. Web apps load twice as fast, and Enterprise Mode takes advantage of network improvements, redesigned script and layout engines, and hardware-accelerated graphics. While we believe that real-world performance matters when evaluating a browser, the JavaScript benchmark results below highlight the significant difference between Internet Explorer 11 with Enterprise Mode and the original Internet Explorer 8. Try it with your own apps, and see for yourself.
(2) They basically do the same thing, but Enterprise Mode does it better. Compatibility View tells the browser to display the website’s HTML and CSS in a way that previous versions of IE would, but does not execute code (like ActiveX controls) in the way that previous versions of IE would. So for a better level of compatibility, use Enterprise mode. That’s the theory of Compatibility View Vs Enterprise Mode. In the real world, you will find that some websites work better with Enterprise Mode and some work better with Compatibility View. This will be a trial and error thing【10】.
(3) Compatibility Mode will rendering in IE7 emulation mode by default, while Enterprise Mode will rendering in IE8 emulation mode.【11】【12】.
5. Can WebBrowser control be set to Enterprise Mode?
5.1 The precedence of the elements that determines the document mode
The precedence of the elements that determines the document mode (how the page will be rendered) are:
For IE:
X-UA-Compatible > Compatibility View settings > FEATURE_BROWSER_EMULATION > Enterprise Mode
For Web Browser Control:
X-UA-Compatible > FEATURE_BROWSER_EMULATION
Web Browser controls do not support IE CV settings, including Enterprise Mode. I'm not aware of any way to opt-in. 【13】
-> So IE Agent application cannot run a test in Enterprise Mode.
1. X-UA-Compatible tag in a meta element or HTTP response header:
X-UA-Compatible value | Document mode |
IE=7 | IE7 mode |
IE=8 | IE8 mode |
IE=9 | IE9 mode |
IE=10 | IE10 mode |
IE=11 | IE11 mode |
IE=edge | The highest supported document mode of the browser |
2. Compatibility View settings:
If the web page is retrieved from a site in a domain on the Compatibility View list | Document mode is IE7 mode |
3. FEATURE_BROWSER_EMULATION registry key:
Registry | Document mode |
Application process key absent | IE7 mode (default) |
Application process key present | based on the version of IE specified in the registry value |
4. Enterprise Mode settings (Only available in IE11):
If the Enterprise Mode is turned ON and the web page is retrieved from a site on the Enterprise Mode site list | Document mode is IE8 mode |
5.2 Can Enterprise Mode be set in IE 11 Using HTML or Java?
I want to know how to set Enterprise mode using HTML tags or Java's response header.
-> You can't do this. Websites can’t ask to be rendered in this mode【14】.
6. How Deploying Enterprise Mode For IE11
Please refer 【15】
7. Test site for IE8
You could test turning on and off IE11 Enterprise Mode for the test site. This site is optimized for IE8 and wouldn’t work properly in IE11: http://ie.microsoft.com/testdrive/browser/emie/
The left image:
This site doesn’t work properly in IE11 without Enterprise Mode.
The right image:
This site works properly when viewed in Internet Explorer 11 with Enterprise Mode.
Refer:
【1】Emulate browsers, screen sizes, and GPS locations (http://msdn.microsoft.com/en-us/library/ie/dn255001(v=vs.85).aspx)
【2】IE11′s new Enterprise Mode (in build 9600.16596) (http://bav0.com/ie11s-new-enterprise-mode/)
【3】Internet Explorer 11 to get new 'enterprise mode' (http://www.zdnet.com/internet-explorer-11-to-get-new-enterprise-mode-7000025842/)
【4】Turn on local control and logging for Enterprise Mode(http://technet.microsoft.com/en-us/library/dn640690)
【5】Turn on Enterprise Mode and use a site list(http://technet.microsoft.com/en-us/library/dn640699)
【6】Stay up to date with Enterprise Mode for Internet Explorer 11(http://blogs.msdn.com/b/ie/archive/2014/04/02/stay-up-to-date-with-enterprise-mode-for-internet-explorer-11.aspx)
【7】Enterprise Mode Site List Manager (http://www.microsoft.com/en-us/download/details.aspx?id=42501)
【8】Add sites to the Enterprise Mode site list using the Enterprise Mode Site List Manager .(http://technet.microsoft.com/en-us/library/dn640689)
【9】Stay up to date with Enterprise Mode for Internet Explorer 11 (http://blogs.msdn.com/b/ie/archive/2014/04/02/stay-up-to-date-with-enterprise-mode-for-internet-explorer-11.aspx)
【10】What Is The Difference Between Compatibility View Vs Enterprise Mode In IE 11? (http://www.itsupportforum.net/topic/what-is-the-difference-between-compatibility-view-vs-enterprise-mode-in-ie-11/)
【11】Difference - Compatibility Mode and Enterprise Mode (http://answers.microsoft.com/en-us/ie/forum/ie11-windows_7/difference-compatibility-mode-and-enterprise-mode/f388c47f-7b0a-4bd9-9472-49f713580464)
【12】Internet Explorer 11 Enterprise Mode vs Compatibility View (http://social.technet.microsoft.com/Forums/en-US/8a432230-e3d9-4ded-8b15-cecc9e413162/internet-explorer-11-enterprise-mode-vs-compatibility-view?forum=ieitprocurrentver)
【13】Enterprise Mode not honored by WebBrowser control (http://social.msdn.microsoft.com/Forums/ie/en-US/7f7e2052-33c4-4602-bd6d-0d82935a4190/enterprise-mode-not-honored-by-webbrowser-control?forum=ieextensiondevelopment)
【14】How to set Enterprise Mode in IE 11 Using HTML or Java (http://stackoverflow.com/questions/25739268/how-to-set-enterprise-mode-in-ie-11-using-html-or-java)
【15】Deploying Enterprise Mode For IE11 Step By Step (http://www.billamoore.com/2014/05/15/deploying-enterprise-mode-ie11-step-step/)