Geoff Chappell - Software Analyst
MSHTML Interfaces
MSHTML.DLL is a very large executable which implements very many COM objects
with very many interfaces.
Scriptable Interfaces
Of particular interest are the interfaces that are scriptable. What this
means for a particular interface is that MSHTML implements the interface in at
least one object that also implements IDispatch
(or
IDispatchEx) through which is exposed a dispatch
ID and name for at least one of the interface’s members. This member can then be
called from scripts, as a method or to access a property or to construct an
object.
There follows the complete list from MSHTML’s string tables:
- IBlockFormats
- IFontNames
- IHTCAttachBehavior
- IHTCAttachBehavior2
- IHTCDefaultDispatch
- IHTCDescBehavior
- IHTCEventBehavior
- IHTCMethodBehavior
- IHTCPropertyBehavior
- IHTMLAnchorElement
- IHTMLAnchorElement2
- IHTMLAppBehavior
- IHTMLAppBehavior2
- IHTMLAreaElement
- IHTMLAreasCollection
- IHTMLAreasCollection2
- IHTMLAreasCollection3
- IHTMLAttributeCollection
- IHTMLAttributeCollection2
- IHTMLBaseElement
- IHTMLBaseFontElement
- IHTMLBGsound
- IHTMLBlockElement
- IHTMLBlockElement2
- IHTMLBodyElement
- IHTMLBodyElement2
- IHTMLBookmarkCollection
- IHTMLBRElement
- IHTMLButtonElement
- IHTMLCommentElement
- IHTMLCommentElement2
- IHTMLControlElement
- IHTMLControlRange
- IHTMLControlRange2
- IHTMLCurrentStyle
- IHTMLCurrentStyle2
- IHTMLCurrentStyle3
- IHTMLCurrentStyle4
- IHTMLDatabinding
- IHTMLDataTransfer
- IHTMLDDElement
- IHTMLDialog
- IHTMLDivElement
- IHTMLDivPosition
- IHtmlDlgSafeHelper
- IHTMLDListElement
- IHTMLDocument
- IHTMLDocument2
- IHTMLDocument3
- IHTMLDocument4
- IHTMLDocument5
- IHTMLDOMAttribute
- IHTMLDOMAttribute2
- IHTMLDOMChildrenCollection
- IHTMLDOMImplementation
- IHTMLDOMNode
- IHTMLDOMNode2
- IHTMLDOMTextNode
- IHTMLDOMTextNode2
- IHTMLDTElement
- IHTMLElement
- IHTMLElement2
- IHTMLElement3
- IHTMLElement4
- IHTMLElementCollection
- IHTMLElementCollection2
- IHTMLElementCollection3
- IHTMLElementDefaults
- IHTMLEmbedElement
- IHTMLEventObj
- IHTMLEventObj2
- IHTMLEventObj3
- IHTMLEventObj4
- IHTMLFieldSetElement
- IHTMLFieldSetElement2
- IHTMLFontElement
- IHTMLFontNamesCollection
- IHTMLFontSizesCollection
- IHTMLFormElement
- IHTMLFormElement2
- IHTMLFormElement3
- IHTMLFrameBase
- IHTMLFrameBase2
- IHTMLFrameBase3
- IHTMLFrameElement
- IHTMLFrameElement2
- IHTMLFramesCollection2
- IHTMLFrameSetElement
- IHTMLFrameSetElement2
- IHTMLGenericElement
- IHTMLHeadElement
- IHTMLHeaderElement
- IHTMLHRElement
- IHTMLHtmlElement
- IHTMLIFrameElement
- IHTMLIFrameElement2
- IHTMLImageElementFactory
- IHTMLImgElement
- IHTMLImgElement2
- IHTMLInputButtonElement
- IHTMLInputElement
- IHTMLInputElement2
- IHTMLInputFileElement
- IHTMLInputHiddenElement
- IHTMLInputImage
- IHTMLInputTextElement
- IHTMLIPrintCollection
- IHTMLIsIndexElement
- IHTMLIsIndexElement2
- IHTMLLabelElement
- IHTMLLabelElement2
- IHTMLLegendElement
- IHTMLLegendElement2
- IHTMLLIElement
- IHTMLLinkElement
- IHTMLLinkElement2
- IHTMLLinkElement3
- IHTMLListElement
- IHTMLListElement2
- IHTMLLocation
- IHTMLMapElement
- IHTMLMarqueeElement
- IHTMLMetaElement
- IHTMLMetaElement2
- IHTMLMimeTypesCollection
- IHTMLModelessInit
- IHTMLNamespace
- IHTMLNamespaceCollection
- IHTMLNextIdElement
- IHTMLNoShowElement
- IHTMLObjectElement
- IHTMLObjectElement2
- IHTMLObjectElement3
- IHTMLOListElement
- IHTMLOpsProfile
- IHTMLOptionButtonElement
- IHTMLOptionElement
- IHTMLOptionElement3
- IHTMLOptionElementFactory
- IHTMLOptionsHolder
- IHTMLParaElement
- IHTMLParamElement
- IHTMLPhraseElement
- IHTMLPhraseElement2
- IHTMLPluginsCollection
- IHTMLPopup
- IHTMLRect
- IHTMLRectCollection
- IHTMLRenderStyle
- IHTMLRuleStyle
- IHTMLRuleStyle2
- IHTMLRuleStyle3
- IHTMLRuleStyle4
- IHTMLRuleStyle5
- IHTMLScreen
- IHTMLScreen2
- IHTMLScriptElement
- IHTMLScriptElement2
- IHTMLSelectElement
- IHTMLSelectElement2
- IHTMLSelectElement4
- IHTMLSelectionObject
- IHTMLSelectionObject2
- IHTMLSpanElement
- IHTMLSpanFlow
- IHTMLStyle
- IHTMLStyle2
- IHTMLStyle3
- IHTMLStyle4
- IHTMLStyle5
- IHTMLStyleElement
- IHTMLStyleFontFace
- IHTMLStyleSheet
- IHTMLStyleSheet2
- IHTMLStyleSheetPage
- IHTMLStyleSheetPagesCollection
- IHTMLStyleSheetRule
- IHTMLStyleSheetRulesCollection
- IHTMLStyleSheetsCollection
- IHTMLSubmitData
- IHTMLTable
- IHTMLTable2
- IHTMLTable3
- IHTMLTableCaption
- IHTMLTableCell
- IHTMLTableCell2
- IHTMLTableCol
- IHTMLTableCol2
- IHTMLTableRow
- IHTMLTableRow2
- IHTMLTableRow3
- IHTMLTableRowMetrics
- IHTMLTableSection
- IHTMLTableSection2
- IHTMLTableSection3
- IHTMLTextAreaElement
- IHTMLTextContainer
- IHTMLTextElement
- IHTMLTextRangeMetrics
- IHTMLTextRangeMetrics2
- IHTMLTitleElement
- IHTMLTxtRange
- IHTMLTxtRangeCollection
- IHTMLUListElement
- IHTMLUniqueName
- IHTMLUnknownElement
- IHTMLUrnCollection
- IHTMLWindow2
- IHTMLWindow3
- IHTMLWindow4
- IHTMLWindow5
- IHTMLXMLHttpRequest
- IHTMLXMLHttpRequestFactory
- IOmHistory
- IOmNavigator
- IWBScriptControl
- IWebBridge
These interfaces are all documented in the MSHTML
Reference
under Hosting and Reuse, except that one (IHTMLSubmitData)
is documented elsewhere, in Binary Behaviours
under
Content Extensions.