PRB: Webbrowsersteuerelement Clients globale Einstellungen verwenden

Problembeschreibung

Alle Hosts des WebBrowser-Steuerelements gemeinsam dieselben globalen Internet-Einstellungen.


Dies sind kommerzielle WebBrowser Control Hosts wie America Online (AOL) Browser betroffen. Beispielsweise setzen eine Standardstartseite für AOL in AOL WWW Voreinstellungen angeben gleiche Standard-Startseite für AOL und Internet Explorer (IE) selbst wenn IE AOL verwendet wird.


Die hier besprochenen Produkte werden von Microsoft unabhängigen Hersteller hergestellt; Wir übernehmen keine Garantie, konkludent oder anderweitig, Leistung oder Zuverlässigkeit dieser Produkte.

Problemlösung

Für die meisten globalen Internet-Einstellungen ist keine unterstützte Methode für das automatische Speichern eine Reihe von Eigenschaften für die einzelnen Hosts WebBrowser.


Allerdings bestimmte Downloadoptionen wie, ob ActiveX heruntergeladen bzw. nicht überschrieben und werden auf Host-Basis angegeben.

Status

Dieses Verhalten ist entwurfsbedingt.

Weitere Informationen

Wie im Internet Client SDK (InetSDK), können WebBrowser Hosts DISPID_AMBIENT_DLCONTROL Ambiente-Eigenschaft für die Dispatch-Standardschnittstelle die globalen Einstellungen für Downloadoptionen überschreiben implementieren.


Das WALKALL in InetSDK (\InetSDK\Samples\Walkall) demonstriert diese Technik für einen Host MSHTML. Eine ähnliche Methode kann im WebBrowser Hosts verwendet werden, um denselben Effekt zu erzielen.


MSHTML bitten auch um einen neuen Benutzer-Agent über DISPID_AMBIENT_USERAGENT bei Hyperlinks geklickt. Diese ambient-Eigenschaft überschrieben kann werden, aber wird nicht verwendet, wenn die Navigate-Methode programmgesteuert aufrufen; wird auch dadurch die UserAgent-Eigenschaft das DOM Navigator Objekt oder ClientInformation Verhalten geändert werden – diese Eigenschaft wider immer Internet Explorer eigene UserAgent-Zeichenfolge.


Ein MFC-Host das WebBrowser-Steuerelement kann diese ambient-Eigenschaften einfach durch Überschreiben der OnAmbientProperty-Methode der Hostingklasse CWnd-basierten beeinflussen:

BOOL CWBHostView::OnAmbientProperty(COleControlSite* pSite,                                    DISPID dispid, VARIANT* pvar)
{
USES_CONVERSION;
// 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;

return TRUE;
}

// Change user agent for this web browser host during hyperlinks
if (dispid == DISPID_AMBIENT_USERAGENT)
{
CString strUserAgent("MyWebBrowserHost");

pvar->vt = VT_BSTR;
pvar->bstrVal = ::SysAllocString(T2OLE(strUserAgent));

return TRUE;
}

return CView::OnAmbientProperty(pSite, dispid, pvar);
}

DISPID_AMBIENT_ * und DLCTL_ * Werte gelten in Mshtmdid.h (\InetSDK\Include\MSHTMDID. (H).

Referenzen

Weitere Informationen zum Entwickeln von Web-Lösungen für Microsoft Internet Explorer finden Sie auf folgenden Microsoft-Websites:
Eigenschaften

Artikelnummer: 183412 – Letzte Überarbeitung: 08.01.2017 – Revision: 1

Feedback