Click or drag to resize
Internet Explorer Versions

[This is preliminary documentation and is subject to change.]

Microsoft's web browser Internet Explorer (IE) exists in several versions, that differ significantly in functionality, standards compliance, performance, etc.

A website may behave differently in different versions of IE. Most of these differences should be handled during development of the website. TOPICA, for example, is designed to run in IE versions 7 through 11 (although some third-party components used in TOPICA have problems with IE versions 10 and 11 in some situations).

A special challenge arises when Microsoft releases new versions of IE after the website is finished. Because of the many differences between IE versions, there are lot of examples of websites, that have been developed and tested on the then available newest IE version, that change behavior when users get a new IE version of their PCs. TOPICA is no exception in this case.

To help minimize some of these inconveniences, several options exists to force IE to emulate a specific (older) version when rendering the page. See MSDN: Specifying legacy document modes .

Setting emulation server-side

TOPICA supports setting the x-ua-compatible header described in MSDN: Specifying legacy document modes .

Setting this header value to IE=X, instructs IE to render the page as if it were viewed by IE version X (with the exception that IE=EDGE means no emulation, i.e. use the native rendering in the current IE version).

To make TOPICA set this header value on all generated pages, set the .config-file parameter with key RenderingMode to the required value. Examples:

Application.config

x-ua-compatible header

Result

<add key="RenderingMode" value="" />

Do not set the x-ua-compatible header.

Use the current browser's native rendering (aka. "edge").

<add key="RenderingMode" value="IE=8" />

Set the x-ua-compatible header to "IE=8".

Emulate IE8.

<add key="RenderingMode" value="IE=9" />

Set the x-ua-compatible header to "IE=9".

Emulate IE9.

<add key="RenderingMode" value="IE=EDGE" />

Set the x-ua-compatible header to "IE=EDGE".

Use the current browser's native rendering.

Setting emulation client-side

There are several ways to set emulation client-side.

Note Note

Client-side settings are obviously local to each user's PC!

  • "Compatibility view" is essentially emulation of IE7 - i.e. has same effect as setting x-ua-compatible to IE=7 on all pages in the website.

    Note Note

    Use this mode with caution - it overrides the server-side setting of emulation, that may have been set up server-side (e.g. by the TOPICA application).

    • IE maintains a list of websites, that should be run in "compatibiilty view".

    • IE has an option, that forces all intranet websites to be run in "compatibility view".

  • Developer tools (F12)

    • The default emulation mode is set according to the value of the x-ua-compatible header (possibly overridden by any "compatiblity view" settings) - see above. The user may inspect and change the current emulation mode using "Developer Tools" (F12). This is useful for debugging / testing. Switching to a rendering mode different from the default is only remembered for the duration of the debugging session. I.e. when the "Developer Tools" window" is closed, changes to rendering mode is not persisted.

Important note Important

There is NO WAY to force a rendering mode from server-side (e.g. by the TOPICA application), if the user has overridden the rendering mode by applying "compatibility view" or changing rendering mode in "Developer Tools"!