WebBrowser denetim istemcileri genel ayarları paylaşır
Uyarı
Kullanımdan kaldırılan, destek dışı Internet Explorer 11 masaüstü uygulaması, Windows 10'un belirli sürümlerinde Microsoft Edge güncelleştirmesi aracılığıyla kalıcı olarak devre dışı bırakılmıştır. Daha fazla bilgi için bkz. Internet Explorer 11 masaüstü uygulamasının kullanımdan kaldırılması hakkında SSS.
Bu makalede, CWnd tabanlı sınıfın OnAmbientProperty yöntemini geçersiz kılarak WebBrowser denetim istemcilerini paylaşmak için genel ayarları uygulama yöntemleri sağlanır.
Orijinal ürün sürümü: Internet Explorer
Özgün KB numarası: 183412
Belirtiler
WebBrowser denetiminin tüm konakları aynı genel İnternet ayarlarını paylaşır.
Çözüm
Genel İnternet ayarlarının çoğunda, her WebBrowser konağı için bir özellik kümesini otomatik olarak kaydetmek için desteklenen bir yöntem yoktur.
Ancak ActiveX denetimlerinin indirilip indirilmeyeceği gibi belirli indirme seçenekleri konağı başına geçersiz kılınabilir ve belirtilebilir.
Durum
Bu davranış tasarımdan kaynaklanır.
Daha fazla bilgi
İnternet İstemci SDK'sında (InetSDK) belgelendiği gibi WebBrowser konakları, indirme seçenekleri için genel ayarları geçersiz kılmak için varsayılan dağıtım arabirimlerinde DISPID_AMBIENT_DLCONTROL ortam özelliğini uygulayabilir.
InetSDK (\InetSDK\Samples\Walkall) içindeki WALKALL örneği, mshtml konağı için bu tekniği gösterir. Aynı etkiyi elde etmek için WebBrowser konaklarında da benzer bir yöntem kullanılabilir.
MSHTML, tıklanan köprülere ilerlerken DISPID_AMBIENT_USERAGENT aracılığıyla yeni bir kullanıcı aracısı da ister. Bu ortam özelliği geçersiz kılınabilir, ancak Program aracılığıyla Navigate yöntemi çağrılırken kullanılmaz. Ayrıca DOM'un gezgin nesnesinin veya clientInformation davranışının özelliğinin değiştirilmesine neden userAgent
olmaz. Bu özellik her zaman Internet Explorer'ın kendi UserAgent dizesini yansıtır.
WebBrowser denetiminin MFC konağı, CWnd tabanlı sınıfı barındıran OnAmbientProperty yöntemini geçersiz kılarak bu ortam özelliklerini kolayca etkileyebilir:
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_* ve DLCTL_* değerleri (\InetSDK\Include\MSHTMDID) içinde Mshtmdid.h
tanımlanır. H).
Başvurular
Microsoft Internet Explorer için Web tabanlı çözümler geliştirme hakkında daha fazla bilgi için bkz. Internet Explorer modu ve Geliştirici Araçları.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin