4

私は次の観察を行いました。

外部ラスター イメージを参照する svg イメージを作成しxlink:href、ブラウザでその svg を読み込もうとすると、タグを使用した場合にのみ外部イメージが表示されますが、<object>タグを使用した場合は表示されません<img>

タグを使用したレンダリング<object>は非常に遅く、画像に img タグを使用するほどきれいではないため、タグを介して機能させる方法があるかどうか疑問に思っていました<img>.

最初は、同一生成元ポリシーのために機能しないと思っていましたが、参照された画像が同じディレクトリにあり、その名前だけで参照しても、読み込まれません。

何か案は?

4

3 に答える 3

1

IEを使用していますか?とにかくIEはSVGを認識しません。Microsoft は常に 10 年遅れていますが、何らかの理由でより人気があり、はるかに高価です。ブランドの宣伝に名前を付ける?

SVG は Firefox に読み込まれます。URL で直接参照される XML ドキュメントとしても、適切な名前空間を使用して XHTML (完全に XML 準拠) ドキュメントに埋め込む場合も、SVG は適切にレンダリングされます。このオプションの優れた点は、DHTML で SVG を操作できることです。この段落で述べたことはすべて、MathML にも当てはまります。

それとは別に、SVG はイメージ タグからは読み込まれません。ただし、Firefox はこのアップグレードに取り組んでいると思います。私は完全にはわかりません。

オブジェクトまたは埋め込みタグを使用することは合理的だと思います... しかし、私の以前の修正の 1 つは iframe を使用することでした。完全な SVG ファイルを参照する iframe を HTML に埋め込みます。CSS を使用すると、iframe をドキュメントの残りの部分と同じように見せることができ、画像のように見えて動作します。div または span タグで囲んで、onhover および onclick イベント ハンドラーを持つことができます。

image タグを使用すると、src をサーバー側の PHP ファイルにすることができます。適切にコーディングされ、適切な cgi アプリがあれば、サーバー側で SVG をラスタライズし、その PNG データを PHP src 経由で画像に送り返すことができます。

于 2010-10-13T19:38:40.540 に答える
0

少なくとも 10 か月遅れていると思います...IE9 は SVG をサポートしており、プレリリース版 (ベータ版を含む) はかなり前から公開されています。プラットフォームのプレビューを入手するには、www.ietestdrive.com をチェックしてください。これは非常に優れています。私の意見では、SVG サポートの一部は現在 Firefox よりもはるかに優れています (ただし、SMIL はまだサポートしていません)。

于 2010-11-23T02:03:34.640 に答える
0

おそらく相互作用の側面を除けば、<object>ロードが遅くなる特別な理由はありません(オブジェクトは完全にインタラクティブなドキュメントですが、imgは静的です)。<img>svg 内の画像は両方のシナリオで読み込まれるはずなので、ブラウザーのバグのように思えます。

あなたの例へのリンクを投稿できますか?

于 2010-05-01T12:49:05.483 に答える