2

ブラウザ内で優れたインタラクティブなチャートをレンダリングするための「Highcharts」ライブラリにはエクスポート機能があり、内部で使用される SVG をサーバー側アプリケーションに送信してラスタライズし、結果の PNG、JPEG、または PDF をダウンロード用に送り返します。

私の問題は、ブラウザー内に表示できる背景画像とシンボルが、Highcharts によってエクスポートされる前に破棄されていることですが、それらが必要です。

そのため、すべての SVG タグなどを削除するすべてをコメントアウトしまし<image>た (ちなみに、内部で使用されている SVG をサニタイズするために正規表現を使用しています...)。

しかし、彼らはこれらのタグにいくつかの非標準属性を使用して<image>おり、それらの座標が画像に異なる方法でマッピングされているため、再計算して属性を破棄する必要があります。

だから私は DOMParser を使用して SVG を解析し、私がやるべきことをしました。ボットは今、生の xml を取得するエレガントな (またはシンプルな) 方法を探しています - Internet Explorer で生の xml を取得できることがわかりましたDOM Document Objectの属性を使用した xml xml- 他のすべてのブラウザに相当するものはありますか? 私は今しばらく探していますが、本当に役立つものは何も見つかりませんでした。ありがとう :)

4

1 に答える 1

5

非IEブラウザでXMLSerializerを使用できます。次の関数は、すべての主要なブラウザーでXMLノードをシリアル化します。

function serializeXmlNode(xmlNode) {
    if (typeof window.XMLSerializer != "undefined") {
        return (new window.XMLSerializer()).serializeToString(xmlNode);
    } else if (typeof xmlNode.xml != "undefined") {
        return xmlNode.xml;
    }
    return "";
}
于 2011-02-04T14:15:40.530 に答える