WebBrowser-besturingsclients delen globale instellingen
Waarschuwing
De buiten gebruik gestelde, niet meer ondersteunde Internet Explorer 11-desktoptoepassing is permanent uitgeschakeld via een Microsoft Edge-update op bepaalde versies van Windows 10. Raadpleeg Veelgestelde vragen over de beëindiging van de desktoptoepassing voor Internet Explorer 11 voor meer informatie.
Dit artikel bevat methoden voor het implementeren van globale instellingen voor het delen van clients voor webbrowserbeheer door de methode OnAmbientProperty van de hostklasse op basis van CWnd te overschrijven.
Oorspronkelijke productversie: Internet Explorer
Origineel KB-nummer: 183412
Symptomen
Alle hosts van het besturingselement Webbrowser delen dezelfde algemene internetinstellingen.
Oplossing
Voor de meeste algemene internetinstellingen is er geen ondersteunde methode voor het automatisch opslaan van een set eigenschappen voor elke WebBrowser-host.
Bepaalde downloadopties, zoals het al dan niet downloaden van ActiveX-besturingselementen, kunnen echter per host worden overschreven en opgegeven.
Status
Dit gedrag is inherent aan het ontwerp van het product.
Meer informatie
Zoals beschreven in de Internet Client SDK (InetSDK), kunnen webbrowserhosts de omgevingseigenschap DISPID_AMBIENT_DLCONTROL implementeren in hun standaard verzendinterface om de algemene instellingen voor downloadopties te overschrijven.
Het WALKALL-voorbeeld in de InetSDK (\InetSDK\Samples\Walkall) demonstreert deze techniek voor een MSHTML-host. Een vergelijkbare methode kan worden gebruikt in webbrowserhosts om hetzelfde effect te bereiken.
MSHTML vraagt ook om een nieuwe gebruikersagent via DISPID_AMBIENT_USERAGENT bij het navigeren naar hyperlinks waarop is geklikt. Deze omgevingseigenschap kan worden overschreven, maar wordt niet gebruikt bij het programmatisch aanroepen van de navigate-methode. Het zorgt er ook niet voor dat de userAgent
eigenschap van het navigatorobject van de DOM of het gedrag van de clientInformation wordt gewijzigd. Deze eigenschap weerspiegelt altijd de eigen UserAgent-tekenreeks van Internet Explorer.
Een MFC-host van het besturingselement Webbrowser kan deze omgevingseigenschappen eenvoudig beïnvloeden door de methode OnAmbientProperty van de hostklasse op basis van CWnd te overschrijven:
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);
}
De waarden DISPID_AMBIENT_* en DLCTL_* worden gedefinieerd in Mshtmdid.h
(\InetSDK\Include\MSHTMDID. H).
Verwijzingen
Zie Internet Explorer-modus en DevTools voor meer informatie over het ontwikkelen van weboplossingen voor Microsoft Internet Explorer.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor