何らかの理由で、ChromeはImageタグに画像なしでSVGを表示しています。
これが私のSVGのサンプルです。
<image xlink:href="blocker.png" height="312.666661" width="85.693825" y="16.479997" x="459.946664"/>
blocker.pngはローカルファイルですが、私はimgurにアップロードしようとしましたが、それも機能しませんでした。
Svgタグは次のとおりです。
<svg width="640" height="480" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
ローカルでの表示は次のとおりです。
http://i.imgur.com/BDP8KpG.png
ライブWebページでの表示は次のとおりです。
http://i.imgur.com/KVuxLI1.png
ご覧のとおり、2人のプレーヤーが欠落しています。これは、SVGをオンラインでアップロードするときは発生しませんが、そのURLをページにリンクしようとすると、同じことが起こります
関連するかどうかはわかりませんが、ページのHTMLコードは次のとおりです。
<!DOCTYPE HTML>
<html>
<head>
<title>SVG</title>
<style>
img{
width: 100%;
height:auto;
max-width: 800px;
}
</style>
</head>
<body>
<div>
<img src="svg.svg"/>
</div>
</body>
</html>
PaulLeBeauの答えは正しい。しかし、別の解決策は、画像にembed
タグの代わりにimg
タグを使用することです。
<embed src="svg.svg">
ここ は、svg画像をHTMLに埋め込むためのいくつかの方法です。
<img>
要素を使用してSVGをWebページにロードする場合、SVGは自己完結型である必要があります。 PNGファイルにリンクすることで行うように、サードパートリソースにリンクすることはできません。これはブラウザによって課されるプライバシー制限です。
可能な解決策は次のとおりです。
PNGをデータURI形式に変換し、そのようにしてSVGに含めます。
ブロッカーPNGを、<path>
などの実際のSVG要素に変換します。