svg 图像已添加到 DOM,但不*可见*,除非在 Firebug 中被触摸

svg image is added to DOM, but isn't *visible* unless touched in Firebug

我正在尝试为我构建的网络玩具添加功能。它使用原始 javascript 和 SVG。该应用程序具有大量功能,已经使用了一年多,目前居住在 http://stereosketcher.com。当我将图像文件从文件系统拖到屏幕上的特殊位置时,我的新功能应该将 SVG 添加到 。我已经完成了拖动、解析和附加,但我的图像没有出现。不是它不在标记中,它在标记中,只是我无法看到图像。

我会怀疑某种分层或不透明度问题或其他问题,除了我可以使用两个奇怪的技巧来使图像出现:

将其添加到文档的函数如下所示:

function applyImageToFaces(data) {
    var image = document.createElementNS("http://www.w3.org/2000/svg", "image");
    image.setAttribute("width","800");
    image.setAttribute("height","800");
    image.setAttribute("xlink:href",data);

    shapeGroup.appendChild(image);
}

有人知道那是什么行为吗?

编辑:即使我将 'data' 替换为普通的 link 也看起来像这样:

<image width="800" height="800" xlink:href="http://thumbs.ebaystatic.com/d/l225/m/m-EuLTQ6AWFEafDhXz9cujA.jpg"/>

它的行为方式完全相同....

拜托。我找到了答案:

我以前试过,但我从命名空间中遗漏了 "http://",因为我是从这个答案的评论中复制它的: