IE7 está solicitando para msxml3.dll controle ActiveX ao tentar gráficos SVG exibição
-
10-07-2019 - |
Pergunta
Herdamos um novo produto que estamos apoiando. É uma aplicação web que exibe gráfico (s) usando SVG.
Na minha máquina, ele funciona perfeitamente. Ele carrega e mostra os gráficos SVG usando o Adobe SVG Viewer 3.0. Enquanto na máquina cliente, os gráficos SVG não vou carga.
notei que a aplicação web está solicitando para o controle ActiveX MSXML3 durante carregamento da página. Mesmo se você permitir que o referido controle ActiveX para executar, os gráficos SVG não iria aparecer.
Eu verifiquei na minha máquina (Ferramentas-> Manage Add-ons-> Ativar ou Add-ons Disable) e nem sequer usar MSXML3.DLL. O add-on ativa somente é Adobe SVG Viewer 3.0.
Ambos máquina estiver usando IE7 e ambos estão usando os mesmos "conjuntos de dados".
O que poderia ser os possíveis problemas aqui?
Obrigado!
Solução 2
máquina do Cliente tem Visual Studio 2005 instalado.
Adobe SVG Viewer e Visual Studio 2005 ódios uns aos outros como documentado neste artigo KB. http://support.microsoft.com/kb/916442
Nós incorporar o gráfico SVG assim:
<embed src="PaintSVG?id=12345" type="image/svg+xml"></embed>
Quando você tiver VS2005 instalado, “associa o tipo MIME application / xml com a extensão de nome de arquivo .aspx” agora IE pensa que está a incorporação de um arquivo "aspx" e quando ele descobre que este arquivo "aspx" é um documento XML, ele irá tentar carregá-lo como tal (explica por que ele está pedindo para o controle ActiveX MSXML3).
Como um trabalho em torno, precisamos "truque" IE que estamos realmente a incorporação de um arquivo SVG, adicionando os seguintes parâmetros no final do URL:
&Dummy=SVG-VS2005-WorkAround.svg
Assim:
<embed src="PaintSVG?id=12345&Dummy=SVG-VS2005-WorkAround.svg" type="image/svg+xml"></embed>
Outras dicas
MSXML3 é construído em em todos os sistemas operacionais formar XP para cima. No entanto, às vezes você pode precisar de uma versão superior do que (digamos SP10 vem com o Vista). O SP máximo que você pode baixar é SP7. Todos os outros só estão disponíveis via Windows Update.
Você pode usar o link fornecido por Chloe: http://www.microsoft.com/downloads/details.aspx?familyid=28494391-052B-42FF-9674-F752BDCA9582&displaylang=en para obter MSXML 3.
Como por minha MSXML conhecimento 6 não será suficiente para um aplicativo que precisa MSXML 3.
Além disso, você pode usar Dependency Walker (disponível aqui ) para verificar o que dll a aplicação necessidades ActiveX.
Apenas um palpite, mas tente instalar este
Microsoft XML Parser (MSXML) 3.0 Service Pack 7 (SP7)
http://www.microsoft. com / download / details.aspx? familyid = 28494391-052B-42FF-9674-F752BDCA9582 & displaylang = en
Ou o (aparentemente) versão mais recente deste
Microsoft XML Core Services (MSXML) 6.0
http://www.microsoft. com / download / details.aspx? familyid = 993c0bcf-3bcf-4009-be21-27e85e1857b1 & displaylang = en
Você provavelmente vai encontrar esta instalado ou não instalado na Add / caixa de diálogo Remover Programas no Painel de Controle.