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ı.