By Rich W Woods
Today, Microsoft posted a blog post with a comprehensive breakdown of all of the things that worked in Internet Explorer, but won’t work in Microsoft Edge. It’s a pretty long list.
Microsoft says that they removed 220,000 lines of code from Internet Explorer, while adding 300,000 lines of code for Microsoft Edge.
Here’s a look at what won’t be in Microsoft Edge.
|Technology||Why it existed||Why we don’t need it anymore|
|ActiveX||ActiveX is a binary extension model introduced in 1996 which allowed developers to embed native Windows technologies (COM/OLE) in web pages. These controls can be downloaded and installed from a site and were subsequently loaded in-process and rendered in Internet Explorer.||The need for ActiveX controls has been significantly reduced by HTML5-era capabilities, which also produces interoperable code across browsers. Microsoft Edge will support native PDF rendering and Adobe Flash as built-in features rather than external add-ons.
|Browser Helper Objects (BHO)||BHOs are a binary extension model introduced in 1997 which enabled developers to write COM objects that were loaded in-process with the browser and could perform actions on available windows and modules. A common use was to build toolbars that installed into Internet Explorer.|
|Document modes||Starting with IE8, Internet Explorer introduced a new “document mode” with every release. These document modes could be requested via the x-ua-compatible header to put the browser into a mode which emulates legacy versions.||Similar to other modern browsers, Microsoft Edge will have a single “living” document mode. In order to minimize the compatibility burden, features will be tested behind switches in about:flags until they are stable and ready to be turned on by default.|
|Vector Markup Language (VML)||VML is an XML-based format for 2D vector graphics, originally proposed in 1998 and originally supported in IE5.||2D vector graphics are supported via Scalable Vector Graphics (SVG) which provides interoperability across modern browsers.|
|attachEvent / removeEvent||IE8 and below supported a proprietary model for DOM events, which supported bubbling but not capture and used a global event object rather than passed as an argument to the event listener.||IE9 and above support the DOM Level 3 Events standard with addEventListener/ removeEventListener.|
|currentStyle||The currentStyle property retrieves the cascaded style of the element.||IE9 and above support the getComputedStyle property (part of DOM L2 standard) to retrieve the final computed style of any element.|
|Conditional Comments||Conditional comments provided a way to embed code that was only targeted at specific versions of Internet Explorer.||It is more effective to use feature detection and other progressive enhancement rather than browser specific code in conditional comments.|
|IE8 layout quirks||IE8 specific layout behaviors that were then emulated in later versions of Internet Explorer.||Most websites are written for standards-based layout. Sites that require IE8 specific behavior on the intranet can be rendered using Enterprise Mode.|
|DirectX Filters and Transitions||DX filters and transitions enabled web developers to apply various visual effects to elements on the web page.||Similar effects can be achieved using standards-based features in CSS3 and SVG.|
In addition to ActiveX and BHOs, there are a number of other legacy extensibility points that are not in Microsoft Edge and will be replaced by a unified, modern extensibility model. These include:
- Binary behaviors
- Pluggable protocols
- Shell Helper API
- Active Documents
- Custom Download Managers
- Custom Security Managers
- MIME filters
- Custom Print and Print Preview Handlers
- Explorer Bars
- Edit Designers
They also pointed out that there are hundreds of other, non-interoperable APIs that have standardized replacements.