Ich analysiere und massiere vorhandene HTML-Dateien, die mit Word erstellt wurden (die Dateien können nicht neu erstellt werden). Die HTML-Dateien mit eingebetteten Bildern umfassen bedingte Formatierung für die VML-fähige Browser ähnlich dem folgenden:Deaktivieren der VML-Unterstützung in HTMLDocument-Parser
<!--[if gte vml 1]>
<v:shape
id="_x0000_i1042" type="#_x0000_t75" style='width:24pt;height:24pt'>
<v:imagedata src="test_files/image002.png" o:title="Text-HighlightColor-icon_32x32"/>
</v:shape>
<![endif]-->
<![if !vml]>
<img width=32 height=32 src="test_files/image002.png" v:shapes="_x0000_i1042">
<![endif]>
ich die HTML-Datei in eine Instanz des IHTMLDocument2
Objekt laden. Da der IE VML unterstützt, parst er das -Tag oben aus und hinterlässt nur shape
und Tags. Ich würde es vorziehen, alle vml-spezifischen Tags zu ignorieren und nur mit dem Tag zu arbeiten.
Gibt es eine Möglichkeit, die VML-Unterstützung (ähnlich IHTMLDocument2.desgnMode = "On"
zum Deaktivieren von Skripts) programmgesteuert zu deaktivieren?
Können Sie versuchen, was hier beschrieben ist: https://msdn.microsoft.com/en-us/library/aa753685.aspx: fügen Sie einen '# default # VML #' DWORD Schlüssel mit einem Wert von 0 zu 'HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Interneteinstellungen \ AllowedBehaviors' –
@Simon Mourier - # default # VML # existiert bereits mit dem Wert 0. Das Löschen oder Ändern auf 1 macht leider keinen Unterschied ... –
Haben Sie überprüft das 32-Bit-Äquivalent auch (HKLM \ Software \ Wow6432Node \ ...)? Andernfalls können Sie versuchen, HKLM \ SOFTWARE \ WOW6432Node \ Microsoft \ Internet Explorer \ Version Vector \ VML auf 0,9 zu ändern (auf meinem 64-Bit-Rechner, iexplore läuft anscheinend irgendwie 32-bit und überprüft den WOW6432Node-Knoten ...) –