As Internet Explorer's component architecture is based on
COM, there are many different ways to extend its capabilities. These can be
broken down into three broad categories of extensions as follows:
Browser Extensions
This category of end-user extensions adds additional functionality to Internet
Explorer content. It includes features such as shortcut menu extensions, custom
toolbars, Explorer Bars, and Browser Helper Objects (BHOs).
Content Extensions
These extend the types of content that can be parsed and displayed; their use
depends on the content being loaded into the browser. This category includes
ActiveX Controls and active documents.
Hosting and Reuse
By hosting and reusing the Internet Explorer components as part of your own
application, you can build your own browser or add rich rendering and Internet
capabilities.
Browser Extensions:
This class of extensibility adds to the user interface (UI) of the browser and
is not directly related to the viewable content of Web pages. It includes
add-on functionality that users might install to enhance their browsing
experience.
Shortcut menu extensions
It is possible to extend Internet Explorer by adding options
to the shortcut menu, which link the menu command to the task to be performed.
Toolbars. Custom toolbars can complement
Internet Explorer's standard toolbars.
Browser Helper O Browser Extensions:
This class of extensibility adds to the user interface (UI) of the browser and
is not directly related to the viewable content of Web pages. It includes
add-on functionality that users might install to enhance their browsing
experience.
Shortcut menu extensions
It is possible to extend Internet Explorer by adding options
to the shortcut menu, which link the menu command to the task to be performed.
Toolbars Custom toolbars can complement
Internet Explorer's standard toolbars.
Browser Helper Objects
A Browser Helper Object (BHO) runs within Internet Explorer
and offers additional services, often without any obvious user interface. For
example, a BHO might highlight terms of interest to the user, monitoring the
user web habits.
Download Manager. Use Explorer Bars to
reserve part of the browser window, either the side or the bottom of the
browser window.
Content Extensions:
This category of extensions is invoked specifically by Internet Explorer
content. It includes ActiveX controls, binary behaviors, and active documents.
ActiveX Controls. ActiveX controls are a
very powerful mechanism for extending the abilities of HTML.
Hosting and Reuse:
Internet Explorer's components can easily be reused thanks to its COM-based
architecture. Two commonly used components are shdocvw.dll (the Web Browser
control) and mshtml.dll ("Trident").
In the majority of situations, it is better to directly host shdocvw.dll than
mshtml.dll. This is because shdocvw.dll supports in-place navigation, history,
and so on—that is, the full capabilities of the browser. If you host mshtml.dll
directly, you gain the use of an HTML and CSS parser and rendered, but you
cannot take advantage of the browser's other capabilities.
An example of a situation in which you might want to host mshtml.dll directly
is the scenario of an e-mail application and HTML-based e-mail. In this
scenario, the e-mail is displayed within the application, but if a user clicks
on a hyperlink within the e-mail, the user would expect a separate browser
instance to open rather than the e-mail application navigating in place. This
is how applications such as Microsoft Outlook and Outlook Express handle
HTML-based e-mail.
About The Author
GMI is India’s
leading independent solution providers in Software Development and
expertise in Browser Helper Objects development, Internet Explorer Extensions
and Ajax
Development.