web-dev-qa-db-ja.com

Internet Explorer 8以下のSVGサポート

Flashでアニメーションを作成し、 Swiffy を使用してHTML5に変換しました。

SVGを使用してすべてをレンダリングしていると思います。 IE8以下でそれをサポートするためのJavaScriptまたはトリックはありますか?私のアニメーションはInternet Explorer 9でうまく機能しています。

ありがとう!

51
Pennf0lio

完璧なオプションはありませんが、いくつかの選択肢があります。

1.)アドビにはIE8用のSVGプラグインがあります http://www.iegallery.com/en/addons/detail.aspx?id=444

2.)Raphael JavaScriptフレームワークでは、ベクターグラフィックスクロスブラウザーを使用できます- http://raphaeljs.com/

3.)次に、オープンソースプロジェクトがあります: http://code.google.com/p/svg2vml/ および http://code.google.com/p/svgweb /

4.)IE8以下ではフラッシュを表示するオプションがあります。

5.)IE8およびそれ以降の場合、グレースフルデグレードし、アニメーションの代わりに静止画像を表示するオプションがあります。

アニメーションの理由に基づいて、4または5を推奨します。

65
Todd Moses

特定のフレームワーク(raphael)または複雑なソリューション(svgweb)に結び付けられない2つのオプションがあります。

  1. Chrome Frame:拡張機能を取得する場合は、それを取得します
  2. サーバー側のラスタライズ:SVGをサーバーに送り返し、inkscapeラスタライズしてpngに戻し、送り返します。

2番に進み(はい、それは安っぽいオプションです)、クリック可能なパーツとツールチップを保持したい場合は、非表示のdiv、またはレンダリングされたsvgの上にあるHTMLのラベルを使用する必要があります。

その部分のオーバーヘッドを回避するために、svgからの位置決め情報を再利用してそれらのdivを配置できます。

おそらく最良の選択肢は、外交的に本物のブラウザを使用することを奨励することですが、それでは、未熟なIT部門の支配下に住んでいる人々にとって常に可能とは限りません;)

1
Morg.