Commercial WebBrowser control hosts such as the America Online (AOL) browser are affected by this behavior. For example, specifying a default home page for AOL in AOL's WWW preferences will set the same default home page for both AOL and Internet Explorer (IE), even when IE is used separately from AOL.
The third-party products discussed here are manufactured by vendors independent of Microsoft; we make no warranty, implied or otherwise, regarding these products' performance or reliability.
However, certain download options, such as whether to download ActiveX controls or not, can be overridden and specified on a per-host basis.
The WALKALL sample in the InetSDK (\InetSDK\Samples\Walkall) demonstrates this technique for an MSHTML host. A similar method can be used in WebBrowser hosts to achieve the same effect.
MSHTML will also ask for a new user agent via DISPID_AMBIENT_USERAGENT when navigating to clicked hyperlinks. This ambient property can be overridden, but it is not used when programmatically calling the Navigate method; it will also not cause the userAgent property of the DOM's navigator object or clientInformation behavior to be altered - this property will always reflect Internet Explorer's own UserAgent string.
An MFC host of the WebBrowser control can easily affect these ambient properties by overriding the OnAmbientProperty method of the hosting CWnd- based class:
BOOL CWBHostView::OnAmbientProperty(COleControlSite* pSite,
DISPID dispid, VARIANT* pvar)
// Change download properties - no java, no scripts...
if (dispid == DISPID_AMBIENT_DLCONTROL)
pvar->vt = VT_I4;
pvar->lVal = DLCTL_NO_SCRIPTS | DLCTL_NO_JAVA
| DLCTL_NO_RUNACTIVEXCTLS | DLCTL_NO_DLACTIVEXCTLS;
// Change user agent for this web browser host during hyperlinks
if (dispid == DISPID_AMBIENT_USERAGENT)
pvar->vt = VT_BSTR;
pvar->bstrVal = ::SysAllocString(T2OLE(strUserAgent));
return CView::OnAmbientProperty(pSite, dispid, pvar);
Номер статьи: 183412 — последний просмотр: 22 июня 2014 г. — редакция: 1