私が取り組んでいるウェブサイトには、インタラクティブなもの(DOMリスナーなどで結びつけ、イベントハンドリングをする)のベクターグラフィックスを表示する必要があります。 SVGのW3C勧告がありますが、このフォーマットはInternet Explorerのサポートでは認識されませんが、これは必須です(公開Webサイト用)。 IEはVMLを処理しますが、ブラウザ(SVGとVML)に応じてキャンバスのような描画を行うjavascriptライブラリもあります - excanvas、GFX of Dojo Toolkitなどです。それは素晴らしいと受け入れられるだろうが、彼らの誰も与えられたマークアップからのSVGイメージを表示することはできません。ブラウザにベクターグラフィックスを表示する
そこで問題は、実際にいくつかの部分で構成されています
- は、与えられたマークアップ(ない義務SVG)からベクターグラフィックスとDOMイベントにアタッチするオファーの可用性を表示する任意のクロスブラウザのJavaScriptライブラリはありますか?
- もしそうでなければ、最も込み入ったブラウザ組み込み技術のどれがそのようなタスクを行うのに最適でしょうか? Flex/Flash、Javaアプレットから選択できます。 SilverlightはWindowsロックインのためにオプションではありません。
[EDIT]ご意見/ご提案ありがとうございました。以下は、この問題についてはいくつかの私のランダムノート/結論は以下のとおりです。
- 私は必要な対話のレベルが表示されている、ベクター画像上のDOMイベントを検出する能力である - マウスオーバー、マウスアウト、クリックなど - と反応する能力背景色を変えたりダイアログを表示したりするのと同じように。
- SVG形式に固執する考えは、最も人気のある1つのIEを除いて多くのブラウザでネイティブであるため非常によくあります。動的なSVGを表示することを実験した後、私はIEバージョン7が最も問題であることに気付きました。ブラウザの非互換性のためにあまりにも多くの面倒があります。
- CakeはすばらしいJavascriptフレームワークのようですが、IE7で動作するサンプルを手に入れることはできませんでした。
- Javaアプレット - 良質のSVGレンダラーであるApache Batikライブラリーを使用することができましたが、そのアイデアは私が最も好きでした。しかし、Batikは非常に大きなライブラリであり、私は数メガバイトの重さのアプレットを配備する余裕はありません。
- 私はFlexオプションを採用することに決めました。いいベクトルグラフィックスライブラリDegrafaが見つかりました。それは独自のマークアップ形式を使用していますが、SVGパス表記法を認識していますので、私の場合はXSLTを使ってSVGを変換するか、単に解析するだけです。
[EDIT 2]もう少しコメントが出ました。私は、「Windowsロックイン」によって、Silverlightが通常Windows、具体的にはIE上で実行される状況を意味することを明確にしたいと思います。私はそれが他のシステム上で受け入れられた解決策(例えば、FlashやJava Appletのような)であるとは思わない。はい、私は疑問が全くありません私はそれが平均的なユーザーのためにあまりにも多くの努力になると思うが、任意のシステム上でSilverlightアプリケーションを起動することができます。
@Akira:IE7の「SVGレンダラー」に問題はありますか?私は常にJavascriptのエラーをスローされます。
私の知る限り、アドビはプラグインのサポートを中止する予定です。 –