3

私は現在、ラファエルによって生成されたチャートを含む html ページから pdf を生成しようとしています。

Raphael が vml を使用する Internet Explorer < 9 を除くすべてのブラウザでうまく動作します。

私は wkhtmltopdf を使用してページを変換しています。Webkit を使用してページをレンダリングしているため、IE を使用する場合は vml をサポートしていません。

Raphael に IE で vml の代わりに svg をレンダリングさせる方法はありますか? 表示されないことはわかっていますが、vml で 1 回、svg で 2 回レンダリングします。

プロパティを設定できることがわかりました

Raphael.type = "SVG";
Raphael.svg = true; 

ただし、オブジェクトがインスタンス化された後は機能しません。

4

3 に答える 3

2

私も、Internet Explorer に SVG を生成させたいと思っている一人です。表示する必要はなく、サーバーに送信するだけです。だから私はこれを調べました:

Raphael に SVG を生成するように強制することができます。

    var rProto, paper;

    rProto = Raphael.prototype.raphael;
    rProto.svg = true;
    rProto.vml = false;
    rProto.type = 'SVG';

    var paper = Raphael(...);

ただし、Raphael は大量のエラーをスローします。これは、Internet Explorer が最新のブラウザーのコードパスに従うため、明らかに機能しません。私はそれらのエラーを調べましたが、修正または回避するのは簡単ではないようです。

于 2012-02-03T16:38:44.057 に答える
0

コマンドリファレンスの多くは、R.vmlそれも設定してみてください。

Raphael.vml = false;
于 2011-08-26T20:58:04.653 に答える
0

このスレッド (少し古いですが) によると、IE に SVG 要素を受け入れさせる方法はありません。

http://groups.google.com/group/raphaeljs/browse_thread/thread/5a05193c0334bda7/25776b86e78d3c2f?lnk=gst&q=force+svg#25776b86e78d3c2f

ただ、「 webkitを使っているので、IE使用時はVMLに対応していません」という意味がよくわかりません。私の知る限り、WebKit は別のレンダラーであり、IE とはまったく関係がありません。おそらく、問題がさらに進展する場合は、解決策を見つけるお手伝いをします。

于 2011-08-30T15:33:16.293 に答える