2012-04-19 13 views
0

Webページは、ashxページから動的に生成されたsvgを使用します。これは、IE8以前ではAdobe SVGプラグインを使用して動作します。 IE9では動作しません(互換モードを含む)。我々は<オブジェクト>タグを使用しています。 IE9で動作するようにページを修正しようとしています。私はこれを変更する場合はIE9で動作する動的に生成されるsvg

<embed src="http://oursite.com/circle1.svg" type="image/svg+xml" 
    height="200" width="550"/> 

<embed src="http://oursite.com/ourhandler.ashx?t=Circle&v=1&ext=.svg" 
    type="image/svg+xml" height="200" width="550"/> 

私は空白のボックスを取得

は、私が使用してウェブ上で発見簡単なテストSVGをレンダリングするSVGを取得することができました無効な垂直スクロールバーを使用します。

"ourhandler.ashx?t=Circle&v=1&ext=.svg"の出力は "circle1.svg"と同じ内容で、http://oursite.com/Ourhandler.ashx?t=Circle&v=1&ext=.svgへの参照はIE9で直接レンダリングされます。

動的に生成されるsvgをIE9で作成するには、何が必要ですか?私は<embed>タグには添付されていませんが、他の方法(例えば<object>タグ)には不運はありません。すべてのブラウザで私のために

+0

私はそれを使用していませんが、RaphaelJS形式のJavaScriptの支援によって、IEでSVGが動作すると思われます。 – halfer

+0

他のブラウザはどうなりますか? – Yahia

答えて

0

私も同じ問題があります。

Fiddlerを使用して問題をトレースしたところ、この要素が「scr」属性で指定されたURLにリクエストを送信していないことがわかりました。「src」の内線が「.svg "

最後に解決策が見つかりました。

ステップ1

私は(使用 ".svgx" EXT)のようなものにSRCを変更

<embed src="http://oursite.com/ourhandler.svgx?t=Circle&v=1" 
type="image/svg+xml" height="200" width="550"/> 

ステップ2

RewriteにURLをHttpModuleをを書きますあなたの本当のURL。あなたのハンドラのHEADリクエストを許可した場合

あなたのケースでは、実際のURLはhttp://oursite.com/ourhandler.ashx?t=Circle&v=1&Ext=.svg

1

チェックです。 IEは2つのGET要求を持っていました.1つはコンテンツタイプ用で、もう1つはオブジェクト用です。今度は最初のリクエストがHEADなので、動詞が許可されていなければ、2番目のリクエストは機能しません。

関連する問題