IDeveloperConsoleMessageReceiver interface

The IDeveloperConsoleMessageReceiver interface is implemented by client applications that wish to receive console log messages from Windows Internet Explorer.

Members

The IDeveloperConsoleMessageReceiver interface inherits from the IUnknown interface. IDeveloperConsoleMessageReceiver also has these types of members:

  • Methods

Methods

The IDeveloperConsoleMessageReceiver interface has these methods.

Method Description
Write

Used to log a message from Internet Explorer.

WriteWithUrl

Used to log a message from Internet Explorer that also contains the URL that originated the issue.

WriteWithUrlAndLine

Used to log a message from Internet Explorer that also contains the URL and line number.

WriteWithUrlLineAndColumn

Used to log a message from Internet Explorer that also contains the URL, line number, and column offset.

 

Remarks

In Internet Explorer 10, applications such as developer tools can register to receive messages logged by Internet Explorer that provide diagnostic information intended for developers. A full list of the messages can be found in F12 developer tools console error messages.

To subscribe for console messages, an application registers with Internet Explorer by executing the IDM_ADDCONSOLEMESSAGERECEIVER command via an IOleCommandTarget interface on the document. In the IOleCommandTarget, a VARIANT containing the IUnknown pointer to the implementation of the subscriber (IDeveloperConsoleMessageReceiver) and an out parameter, which will be filled by Internet Explorer as the unique cookie to for the listener. The subscriber is invoked every time a message is logged in Internet Explorer. To unsubscribe, the application passes in another command IDM_REMOVECONSOLEMESSAGERECEIVER with the cookie it received when registering.

Multiple subscribers can be registered at a time.

Examples

An application subscribes by executing a command via IOleCommandTarget on the document with the MSHTML command group and command ID for subscribing to console messages. The subscriber also passes in a pointer to its IUnknown implementation, which is queried for the listener interface. Subscribers are issued a cookie (an unique identifier) which they must persist and use later when unsubscribing.

The example below assumes a reference to IWebBrowser2 has already been obtained.

CComPtr<IDispatch> spDocDisp;
hr = IWebBrowser2->get_Document(&spDocDisp);
if (hr == S_OK)
{
    CComQIPtr<IOleCommandTarget> spOleCommandTarget(spDocDisp);
    If (spOleCommandTarget != nullptr)
    {
        spOleCommandTarget->Exec(  &CGID_MSHTML,
                          IDM_ADDCONSOLEMESSAGERECEIVER,
                          OLECMDEXECOPT_DODEFAULT,
                          &varListener,
                          &varConsoleCookie);

     }
}

To unsubscribe, the application calls IOleCommandTarget::Exec method again with the cookie that was received when subscribing.

pOleCommandTarget->Exec(  CGID_MSHTML,
                          IDM_REMOVECONSOLEMESSAGERECEIVER,
                          OLECMDEXECOPT_DODEFAULT,
                          &varConsoleCookie,
                          NULL);

Requirements

Minimum supported client

Windows 8

Minimum supported server

Windows Server 2012

Header

Mshtml.h

IDL

Mshtml.idl