私はこのような同様の問題を抱えており、その問題に基づいて例を用意しました:
Safari と Opera を除くすべてのブラウザは、この問題を処理します。Opera では、最初に [実行] をクリックすると、SVG がブラック ボックスとしてレンダリングされます。「更新」をクリックすると、SVG が正しくレンダリングされます。私たちのアプリケーションでは、パネルの HTML コードを直接設定する ExtJS 4.1.1 で使用します。
html = '<svg id="foo" > .... </svg>';
this.update(html);
ここで、html は単純に svg を含む文字列です。
2 つのブラウザーのグラデーションを除いて、正常に動作します。これにより、黒い形状が得られます。さまざまな理由 (イベント処理、ID の操作など) により、イベント リスナーを実行するにはインライン SVG である必要があります。
listeners : {
click : {
element : 'el',
fn : function(a, b, c, d) {
var svgElement = b;
[...]
私は今、完全にアイデアを失っており、すべての提案に非常に感謝しています.