Chrome は<use>
インライン svg の要素を表示しないようです。以下に例を示します (以下のコードまたはhttp://www.bobwyttenbach.com/chromeuse.htmlで表示):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Chrome use-tag bug?</title>
</head>
<body>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="200px" height="200px" viewBox="0 0 200 200">
<defs>
<g id="test1">
<circle cx="100" cy="100" r="50" fill="red"/>
</g>
</defs>
<g>
<rect x="0.5" y="0.5" width="199" height="199" stroke="black" fill="none"/>
<use xlink:href="#test1" x="0" y="0"/>
</g>
</svg>
<p>Above is inline svg with a use tag; below is the same svg linked through an object tag. Below is correct.</p>
<object data="chromeuse.svg" width="200" height="200"></object>
</body>
</html>
赤い円はインライン svg には表示されませんが、同じ svg が object タグを介してリンクされている場合に表示されます。Safari、Firefox、Opera、および Internet Explorer 9 はすべて、インライン svg を正しく表示します。
私は何か間違ったことをしていますか?これは Chrome の既知のバグですか (記載されていません)? 回避策はありますか?