Pregunta

Heredamos un nuevo producto que ahora admitimos. Es una aplicación web que muestra gráficos con SVG.

En mi máquina, funciona perfectamente. Se carga y muestra los gráficos SVG con Adobe SVG viewer 3.0. Mientras esté en la máquina del cliente, los gráficos SVG no se cargarán.

Noté que la aplicación web solicita el control ActiveX MSXML3 durante la carga de la página. Incluso si permite que se ejecute dicho control ActiveX, los gráficos SVG no aparecerían.

Revisé mi máquina (Herramientas- > Administrar complementos- > Activar o Desactivar complementos) y ni siquiera usa MSXML3.DLL. El único complemento activo es Adobe SVG Viewer 3.0.

Ambas máquinas usan IE7 y ambas usan los mismos "conjuntos de datos".

¿Cuáles podrían ser los posibles problemas aquí?

¡Gracias!

¿Fue útil?

Solución 2

La máquina del cliente tiene instalado Visual Studio 2005.

Adobe SVG Viewer y Visual Studio 2005 se odian como se documenta en este artículo de KB. http://support.microsoft.com/kb/916442

Incorporamos el gráfico SVG de esta manera:

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

Cuando tiene instalado VS2005, & # 8220; asocia el tipo MIME de aplicación / xml con la extensión de nombre de archivo .aspx & # 8221; así que ahora IE cree que está incrustando un " aspx " archivo y cuando descubre que esto " aspx " es un documento XML, luego intentará cargarlo como tal (explica por qué solicita el control ActiveX MSXML3).

Como solución, necesitamos '' engañar '' Es decir, que en realidad estamos incrustando un archivo SVG agregando los siguientes parámetros al final de la URL:

&Dummy=SVG-VS2005-WorkAround.svg

Me gusta así:

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

Otros consejos

Msxml3 está integrado en todos los sistemas operativos desde XP hasta. Sin embargo, a veces puede necesitar una versión más alta (digamos que Sp10 viene con Vista). El SP máximo que puede descargar es SP7. Todos los demás están disponibles solo a través de Windows Update.

Puede usar el enlace proporcionado por Chloe: http://www.microsoft.com/downloads/details.aspx?familyid=28494391-052B-42FF-9674-F752BDCA9582&displaylang=en para obtener MSXML 3.

Según mi conocimiento, MSXML 6 NO será suficiente para una aplicación que necesita MSXML 3.

También puede usar el caminante de dependencia (disponible aquí ) para verificar qué dll necesita la aplicación ActiveX.

Solo una corazonada, pero intente instalar esto
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 = es

O la versión (aparentemente) más nueva esta
Microsoft Core XML Services (MSXML) 6.0
http://www.microsoft. com / downloads / details.aspx? familyid = 993c0bcf-3bcf-4009-be21-27e85e1857b1 & amp; displaylang = es

Probablemente encontrará esto instalado o no instalado en el cuadro de diálogo Agregar o quitar programas en el Panel de control.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top