我有點像下面的代碼顯示我的網站上的svg圖像。HTML中的SVG不顯示嵌入圖像
<a href="http://site.com/path/to/file.svg">
<img src="http://site.com/path/to/file.svg">
</a>
SVG文件是類似如下:
<svg width="600" height="400" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g>
<title>Annotation</title>
<image xlink:href="http://site.com/path/to/image.jpg" id="svg_1" height="400" width="600" y="0" x="0"/>
</g>
<g>
<title>Layer 1</title>
<g id="svg_2"/>
<path fill="none" stroke="#000000" stroke-width="3" id="svg_3".....
<line id="svg_4" y2="249" x2="134" y1="248" x1="155" stroke-width="3" stroke="#000000" fill="none"/>
<path d="m97,177c0,-1 -0.292892,-1.292892 -1,-2c-0.707108,-0.707108......
</g>
</svg>
的SVG是加載(通過PHP正確的標題等),可以看到SVG的線條和對象,而不是圖片。
如果我用鼠標右鍵單擊並在新窗口中打開鏈接,我可以看到背景圖像。如果我然後切換回第一個選項卡,其中的圖像顯示在html中的svg鏈接。
看起來好像瀏覽器沒有加載圖像,所以我嘗試了各種各樣的東西,像在它旁邊加載<img src="http://site.com/path/to/image.jpg"/>
。平面圖像的作品,但在SVG仍然不會顯示。
這將是很好的避免的東西像IFRAME作爲img標籤和整個SVG倍率設置大小爲好(除非你能在一個iframe做到這一點?)
任何指針將不勝感激。
TL;在SVG DR
圖像不顯示,直到你在第二個選項卡中打開它不具有HTML周圍
AFAIK所有瀏覽器都會自動禁用svg文件中的js,這些文件使用''標記引用。某些瀏覽器不會加載子資源,例如在使用''引用的svg中使用的樣式表和圖像,即使它們是同源的。 –
這不是我說的嗎?如果不是,我會試圖讓我的答案更清楚。 – kzh