1

ブラウザーによって異なる svg を自分の Web ページに読み込んでいます。問題は、IE ではロード方法が異なるため、svg 要素を取得できないことです。

<!--[if !IE]>-->
    <div id="SVGContainer"></div>
<!--<![endif]-->
<!--[if lt IE 9]>
    <object id="infoobjectgraph" src="@routes.Assets.at(graphfilename)" classid="image/svg+xml" width="800" height="600" >
<![endif]-->
<!--[if gte IE 9]>
    <object id="infoobjectgraph" data="@routes.Assets.at(graphfilename)" type="image/svg+xml" width="800" height="600" >
<![endif]-->

IE でない場合は、 を使用するだけ$("#SVGContainer").on("click", "g.node a", function(event){...}で、うまく機能します。どうすればIEで同じことができますか?

試しまし$("#infoobjectgraph").on("click", "g", function(event){...}たが、これはうまくいきません。

svg を別の方法でロードする理由は、svg が IE8 で動作するように、SVG Web を使用しているためです。したがって、読み込みはそのままでなければなりません。したがって、IE の場合はオブジェクトとしてロードされ、!IE の場合は svg からすべてのコンテンツをロードして #SVGContainer に配置します。

何か案は?

編集: 「g」は私のsvgのノードです。例えば:

<svg>
<g id="node1" class="node">
...
</g>
<g id="node2" class="node">
...
</g>
</svg>
4

0 に答える 0