A Look at Worked in IE but Won’t Work in Microsoft Edge

A Look at Worked in IE but Won’t Work in Microsoft Edge

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.

fixesandremovedcode

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.

We recently demonstrated our early work on a modern, HTML/JavaScript-based extension model to provide extensibility beyond what is available with HTML5. We will enable this new model after our initial release of Microsoft Edge this summer and we look forward to sharing more details soon.

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.
VBScript VBScript is a scripting language modeled after Visual Basic. It was introduced in 1996 to provide web developers with a language option when scripting on the web. JavaScript has become the de-facto language of the web and is evolving quickly with ECMAScript 6 and beyond. Microsoft Edge delivers the leading implementation of ES6.
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
  • Timers
  • Accelerators
  • Webslices

They also pointed out that there are hundreds of other, non-interoperable APIs that have standardized replacements.

About the author
Rich Woods

Being a computer programmer wasn't enough to fulfill his love of technology. In 2013, Rich founded For the Love of Tech and has been writing about his love of tech ever since.