WebBrowser-Steuerelementclients teilen globale Einstellungen
Warnung
Die eingestellte, nicht mehr unterstützte Desktop-Anwendung Internet Explorer 11 wurde durch ein Microsoft Edge-Update in bestimmten Versionen von Windows 10 dauerhaft deaktiviert. Weitere Informationen finden Sie unter Häufig gestellte Fragen zur Einstellung der Desktop-App von Internet Explorer 11.
Dieser Artikel enthält Methoden zum Implementieren globaler Einstellungen für die Freigabe von WebBrowser-Steuerelementclients durch Überschreiben der OnAmbientProperty-Methode der hostenden CWnd-basierten Klasse.
Ursprüngliche Produktversion: Internet Explorer
Ursprüngliche KB-Nummer: 183412
Symptome
Alle Hosts des WebBrowser-Steuerelements verwenden dieselben globalen Interneteinstellungen.
Lösung
Für die meisten globalen Interneteinstellungen gibt es keine unterstützte Methode zum automatischen Speichern eines Satzes von Eigenschaften für jeden WebBrowser-Host.
Bestimmte Downloadoptionen, z. B. ob ActiveX-Steuerelemente heruntergeladen werden sollen oder nicht, können jedoch pro Host überschrieben und angegeben werden.
Status
Es handelt sich hierbei um ein beabsichtigtes Verhalten.
Weitere Informationen
Wie im Internet Client SDK (InetSDK) dokumentiert, können WebBrowser-Hosts die DISPID_AMBIENT_DLCONTROL Ambient-Eigenschaft auf ihrer Standardverteilungsschnittstelle implementieren, um die globalen Einstellungen für Downloadoptionen zu überschreiben.
Das WALKALL-Beispiel im InetSDK (\InetSDK\Samples\Walkall) veranschaulicht diese Technik für einen MSHTML-Host. Eine ähnliche Methode kann in WebBrowser-Hosts verwendet werden, um denselben Effekt zu erzielen.
MSHTML fragt auch nach einem neuen Benutzer-Agent über DISPID_AMBIENT_USERAGENT , wenn Sie zu links navigieren, auf die geklickt wurde. Diese Ambient-Eigenschaft kann überschrieben werden, wird aber nicht beim programmgesteuerten Aufrufen der Navigate-Methode verwendet. Außerdem wird die userAgent
Eigenschaft des Navigatorobjekts oder des ClientInformation-Verhaltens des DOM nicht geändert. Diese Eigenschaft spiegelt immer die userAgent-Zeichenfolge des Internets Explorer wider.
Ein MFC-Host des WebBrowser-Steuerelements kann diese Umgebungseigenschaften leicht beeinflussen, indem die OnAmbientProperty-Methode der hostenden CWnd-basierten Klasse überschrieben wird:
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);
}
Die Werte DISPID_AMBIENT_* und DLCTL_* werden in Mshtmdid.h
(\InetSDK\Include\MSHTMDID) definiert. H).
References
Weitere Informationen zum Entwickeln webbasierter Lösungen für Microsoft Internet Explorer finden Sie unter Internet Explorer Modus und DevTools.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für