Como fazer o SVG funcionar com o IE?
-
07-07-2019 - |
Pergunta
Alguém conhece uma biblioteca abrangente para fazer o SVG funcionar com o IE (7 e 8 em particular)?
Eu queria algo JavaScript que pudesse ser incluído na minha página da web e que converteria silenciosamente todo o meu SVG em VML de uma maneira semelhante ao que Excanvas faz pela tela.
Solução
o Raphaël - Biblioteca Javascript pode ajudá -lo lá fora.
O Raphaël usa a recomendação SVG W3C e o VML como base para criar gráficos e suporta o Firefox 3.0+, Safari 3.0+, Opera 9.5+ e Internet Explorer 6.0+.
EDITAR:
Existem mais duas bibliotecas JS que usam VML para renderizar SVGs no IE:
Outras dicas
Web SVG do Google faz isso. De acordo com o site do projeto:
O SVG Web é uma biblioteca JavaScript que fornece suporte ao SVG em muitos navegadores, incluindo Internet Explorer, Firefox e Safari. Usando o suporte a SVG nativo da Biblioteca Plus, você pode atingir instantaneamente ~ 95% da base da web instalada existente.
Embora seja descrito como uma biblioteca JavaScript, também requer flash 9+. Isso geralmente não é um problema, mas se você estiver em um ambiente corporativo com flash antigo ou sem flash nas estações de trabalho, não vai funcionar.
Além disso, ainda está em alfa, o que pode ser um problema, dependendo do seu projeto.
Eu penso Svgweb é o caminho a percorrer, mesmo que seja baseado no flash, pois o VML está longe de ser rápido o suficiente para muitas aplicações.
A Adobe fornece scripts para detectar, instalar e redirecionar automaticamente você de volta ao seu site original:
http://support.adobe.com/devsup/devsup.nsf/docs/51780.htm
http://www.adobe.com/svg/workflow/autoinstall.html
Eu tenho usado isso com bastante sucesso no meu site.
Uma solução mais de baixa tecnologia seria usar algo como svg_alike (insira notificação de conflito de interesses aqui :)). Ele verifica o suporte ao SVG, se não o encontrar, substitui todas as imagens SVG por PNGs.
https://github.com/forwardadvance/svg_alike
Você perde as vantagens do zoom do vetor suave e do suporte da retina, mas é improvável que os usuários do IE8 usem esses recursos.
A vantagem é que você não precisa converter suas imagens em JavaScript. Eu acho que fornece 80% do valor para 5% do trabalho.