Raphaël (JavaScript ライブラリ)を使用して素敵なグラフィックを作成しました。PNGファイルとして保存する機能を追加したいと考えています。
これは Internet Explorer を除くすべてのブラウザーで簡単です。なぜなら、Internet Explorer 以外のブラウザーでは、Raphaël からの出力としてSVGを取得し、それを (cansvg ライブラリーを使用して) キャンバスに変換でき、キャンバスにはtoDataURL()
メソッドがあるからです。しかし Internet Explorer では、Raphaël はVMLを出力します。Chromeフレーム プラグインを使用できません。なんで?
私のアプリケーションのユーザーは、Windows にプレインストールされているという理由だけで Internet Explorer を選択し、他のものをインストールする権限がありません。そのため、このプラグインをインストールできません。そこで、私の 2 番目のアイデアは、Internet Explorer で SVG 文字列を取得し、それを cansvg に渡してキャンバスを取得し、flashCanvas
.
Raphaël をだまして、Internet Explorer 以外のブラウザで実行されていると思わせ、出力として SVG を取得しようとしましたが、Raphaël は Internet Explorer にはない JavaScript 関数を使用して SVG を生成するため、失敗しました。
では、Internet Explorer でこのタスクを実行するにはどうすればよいでしょうか。