IE7 richiede il controllo ActiveX msxml3.dll durante il tentativo di visualizzare grafici SVG

StackOverflow https://stackoverflow.com/questions/1221096

  •  10-07-2019
  •  | 
  •  

Domanda

Abbiamo ereditato un nuovo prodotto che stiamo supportando. Si tratta di un'applicazione web che visualizza grafici utilizzando SVG.

Sulla mia macchina, funziona perfettamente. Carica e mostra i grafici SVG usando Adobe SVG viewer 3.0. Sulla macchina del cliente, i grafici SVG non verranno caricati.

Ho notato che l'applicazione Web richiede il controllo ActiveX MSXML3 durante il caricamento della pagina. Anche se si consente l'esecuzione di detto controllo ActiveX, i grafici SVG non vengono visualizzati.

Ho controllato sul mio computer (Strumenti- > Gestisci componenti aggiuntivi- > Abilita o disabilita componenti aggiuntivi) e non usa nemmeno MSXML3.DLL. L'unico componente aggiuntivo attivo è Adobe SVG Viewer 3.0.

Entrambe le macchine utilizzano IE7 ed entrambe utilizzano gli stessi "set di dati".

Quali potrebbero essere i possibili problemi qui?

Grazie!

È stato utile?

Soluzione 2

Sul computer del cliente è installato Visual Studio 2005.

Adobe SVG Viewer e Visual Studio 2005 si odiano l'un l'altro come documentato in questo articolo KB. http://support.microsoft.com/kb/916442

Abbiamo incorporato il grafico SVG in questo modo:

<embed src="PaintSVG?id=12345" type="image/svg+xml"></embed>

Quando hai installato VS2005, & # 8220; associa il tipo MIME application / xml all'estensione di file .aspx & # 8221; quindi ora IE pensa che stai incorporando un " aspx " file e quando scopre che questo " aspx " file è un documento XML, tenterà quindi di caricarlo come tale (spiega perché richiede il controllo ActiveX MSXML3).

Come soluzione, dobbiamo " ingannare " Vale a dire che stiamo effettivamente incorporando un file SVG aggiungendo i seguenti parametri alla fine dell'URL:

&Dummy=SVG-VS2005-WorkAround.svg

In questo modo:

<embed src="PaintSVG?id=12345&Dummy=SVG-VS2005-WorkAround.svg" type="image/svg+xml"></embed>

Altri suggerimenti

Msxml3 è integrato in tutti i sistemi operativi da XP in su. Tuttavia a volte potresti aver bisogno di una versione successiva (ad esempio Sp10 viene fornito con Vista). L'SP massimo che puoi scaricare è SP7. Tutti gli altri sono disponibili solo tramite Windows Update.

È possibile utilizzare il collegamento fornito da Chloe: http://www.microsoft.com/downloads/details.aspx?familyid=28494391-052B-42FF-9674-F752BDCA9582&displaylang=en per ottenere MSXML 3.

Per quanto ne so MSXML 6 NON sarà sufficiente per un'applicazione che necessita di MSXML 3.

Inoltre puoi usare il walker di dipendenze (disponibile qui ) per verificare di quale applicazione ha bisogno ActiveX.

Solo un sospetto, ma prova a installare questo
Microsoft XML Parser (MSXML) 3.0 Service Pack 7 (SP7)
http://www.microsoft. com / downloads / Details.aspx FamilyID = 28494391-052B-42FF-9674-F752BDCA9582 & amp;? displaylang = it

O la versione (apparentemente) più recente di questo
Microsoft Core XML Services (MSXML) 6.0
http://www.microsoft. com / downloads / Details.aspx FamilyID = 993c0bcf-3bcf-4009-be21-27e85e1857b1 & amp;? displaylang = it

Probabilmente troverai questo installato o non installato nella finestra di dialogo Installazione applicazioni nel Pannello di controllo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top