Powering up with Internet Explorer Extensibility

The information published in this post is now out-of-date and one or more links are invalid.

—IEBlog Editor, 21 August 2012

I’ve been keenly interested in extending Internet Explorer since long before I joined the team last fall. MSDN provides some great documentation on how to extend Internet Explorer, but as a longtime IE enhancer, I’d like to highlight some of my favorite resources.

IE provides a number of mechanisms that permit software developers to extend the browser in powerful ways.  You can add:

  1. Toolbar buttons
  2. Tools menu items
  3. Context menu items
  4. Toolbars
  5. Download managers
  6. Pluggable transfer protocols

In addition to (or in combination with) the above extensibility, Browser Helper Objects permit you to power-up the browser with everything from mouse gestures to content-rewriting and beyond.

The first three extensibility points can be extended using registry keys or DHTML alone, while you can plug into the latter three using almost any language: Visual Basic, C++, Borland Delphi, or any of the .NET Framework languages.

Of late, I’ve become a big fan of extensibility mechanism #3.  Context menu extensibility provides a ton of bang for the buck.  Simply add a registry key and a DHTML file, and you can enhance Internet Explorer’s context menu with significant new functionality.

As a demonstration, I put together a small collection of scripts that enable the user to:

  • Remove all non-text elements from the current page
  • Look up the currently selected text in the dictionary or encyclopedia
  • View the source of the currently selected HTML elements
  • Copy any image from the page

Since they’re just DHTML, you can view (and tweak!) the DHTML source of the IEToys by looking inside the installation folder.

Have fun, and feel free to send us suggestions for more toys!

 - EricLaw