Internet Explorer gilt kein aktualisierten globale Stylesheets mit GetHostInfo

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 328803 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Wenn Sie globale Stylesheet, angeben indem der IDocHostUIHandler::GetHostInfo -Implementierung in einer Anwendung, hostet das Webbrowser-Steuerelement, kann das globale Stylesheet nachdem es zum ersten Mal angewendet wurde nicht geändert werden.

Ursache

MSHTML nur aktualisiert seine Stylesheet, internes globale, wenn das Stylesheet erstellt wird.

Lösung

Es ist ein unterstützter Hotfix von Microsoft erhältlich. Der Hotfix ist jedoch nur die Behebung des Problems die in diesem Artikel beschriebene vorgesehen. Installieren Sie diesen Hotfix nur auf Systemen, bei die dieses spezielle Problem auftritt. Dieser Hotfix kann einem späteren Zeitpunkt zusätzliche Tests unterzogen. Wenn durch dieses Problem nicht schwerwiegend beeinträchtigt ist, empfiehlt Microsoft daher, auf die nächste Softwareupdate zu warten, das diesen Hotfix enthält.

Wenn der Hotfix zum Download verfügbar ist, ist ein Abschnitt "Hotfix Download available (Hotfixdownload verfügbar" am oberen Rand dieser Knowledge Base-Artikel. Wenn in diesem Abschnitt nicht angezeigt wird, wenden Sie sich an technischen Kundendienst und Support, um den Hotfix zu erhalten.

Hinweis: Wenn weitere Probleme auftreten oder wenn eine Problembehandlung erforderlich ist, müssen Sie möglicherweise eine separate Serviceanfrage erstellen. Die normalen Supportkosten gelten die für zusätzliche Supportfragen und Probleme, die für diesen speziellen Hotfix nicht qualifizieren. Eine vollständige Liste der technischen Kundendienst und Support-Telefonnummern oder eine separate Serviceanfrage erstellen die folgende Microsoft-Website:
http://support.microsoft.com/contactus/?ws=support
Hinweis: Das Formular "Hotfix Download available (Hotfixdownload verfügbar" zeigt die Sprachen für die der Hotfix verfügbar ist. Wenn Ihre Sprache nicht angezeigt wird, ist es, da ein Hotfix nicht für diese Sprache zur Verfügung steht.

Die englische Version dieses Updates weist die in der nachstehenden Tabelle aufgelisteten Dateiattribute (oder höher) auf. Die Datums- und Uhrzeitangaben für diese Dateien werden in Coordinated Universal Time () angegeben. Wenn Sie sich die Dateiinformationen ansehen, werden diese Angaben in die lokale Zeit konvertiert. Um die Differenz zwischen UTC und der Ortszeit zu ermitteln verwenden Sie die Registerkarte Zeitzone des Tools ? Datum und Uhrzeit in der Systemsteuerung.
   Date      Time     Version       Size       File name
   -------------------------------------------------------
   03-Oct-02 13:14    6.0.2722.300  2,763,264  Mshtml.dll
				

Status

Microsoft hat bestätigt, dass dies ein Problem in Microsoft Internet Explorer 6 handelt.

Weitere Informationen

Dieses Problem tritt nur nach MSHTML initialisiert wird. Dies bedeutet, dass wenn Sie ein Dokument nicht MSHTML (z. B. ein Word-Dokument oder einen anderen Typ Serverdokument Dokuments) das nächste Mal, das Sie eine HTML-Datei öffnen öffnen, MSHTML initialisiert das globale Stylesheet mit was in der IDocHostUIHandler::GetHostInfo -Implementierung bereitgestellt wird.

Schritte zum Reproduzieren des Problems

  1. Erstellen Sie in Visual Studio .NET eine Microsoft Foundation Classes (MFC) Single Document Interface (SDI) CHtmlView Anwendung.
  2. Der anzeigen-Klasse, die das aktuelle globale Stylesheet enthalten, wird eine Membervariable hinzufügen:
    class CMFCTestView : public CHtmlView
    {
    ...
    	LPWSTR m_pZoom;
    ...
    };
    
  3. Die Membervariable mit dem ersten Stylesheet die gewünschte im Konstruktor initialisieren:
    CMFCTestView::CMFCTestView()
    {
    	m_pZoom = L"BODY{Zoom:200%;}";
    }
    
  4. Überschreiben der virtuellen Funktion OnGetHostInfo von CHtmlView um den Code über die GetHostInfo -Methode das globalen Stylesheet anwenden implementieren. IDocHostUIHandler::GetHostInfo in CHtmlControlSite implementiert ist und Methodenaufrufe, die OnGetHostInfo in der Ansicht verwendet.
    // header file
    class CMFCTestView : public CHtmlView
    {
    ...
    virtual HRESULT OnGetHostInfo(DOCHOSTUIINFO *pInfo);
    ...
    };
    
    // implementation file
    HRESULT CMFCTestView::OnGetHostInfo(DOCHOSTUIINFO *pInfo)
    {
    	pInfo->pchHostCss = (LPWSTR)::CoTaskMemAlloc((lstrlenW(m_pZoom)+1)*2);
    	lstrcpyW(pInfo->pchHostCss, m_pZoom);
    	return S_OK;
    }
  5. Hinzufügen eines Menüs Element und seinem Handler zu den CHTMLView abgeleitete Klasse. Rufen Sie im Menü-Handler die IWebBrowser2::Refresh() -Methode auf. IWebBrowser2::Refresh() gilt das neue globale Stylesheet zu der aktiven Webseite.
    void CMFCTestView::OnActionTest()
    {
    	m_pZoom = L"BODY{Zoom:50%;}";
    	m_pBrowserApp->Refresh();
    }
    
  6. Update die OnInitialUpdate -Methode der Ansicht, zeigen Sie Ihre HTML-Testseite:
    void CMFCTestView::OnInitialUpdate()
    {
    	CHtmlView::OnInitialUpdate();
    	Navigate2(_T("http://myserver/mytestpage.htm"),NULL,NULL);
    }
  7. Erstellen Sie die Anwendung, und führen Sie sie aus. Wenn die Seite zuerst angezeigt wird, wird alles von 200 % vergrößert.
  8. Verwenden Sie im Menü-Aktion, die Sie die neue Formatvorlage anwenden hinzugefügt. Ohne den Hotfix, der Seite aktualisiert, aber die Vergrößerung unverändert bleibt. Nachdem Sie den Hotfix angewendet haben, wird die Seite aktualisiert und mit 50 Prozent Vergrößerung angezeigt.

Eigenschaften

Artikel-ID: 328803 - Geändert am: Donnerstag, 23. Januar 2014 - Version: 1.5
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Internet Explorer (Programming) 6.0
Keywords: 
kbnosurvey kbarchive kbmt kbautohotfix kbhotfixserver kbqfe kbwebbrowser kbhtml kbie600sp2fix kbie600presp2fix kbfix kbbug KB328803 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 328803
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com