带有<;图像>;通过GWT应用程序引用时,Firefox16中不会显示标记

带有<;图像>;通过GWT应用程序引用时,Firefox16中不会显示标记,firefox,gwt,svg,Firefox,Gwt,Svg,我在Firefox16中面临这个问题 我用标记创建了一个新的svg文件(NewImage.svg): <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'> <svg xmlns='http://www.

我在Firefox16中面临这个问题

我用
标记创建了一个新的
svg
文件(NewImage.svg):

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN'
          'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
<svg xmlns='http://www.w3.org/2000/svg'
 xmlns:xlink='http://www.w3.org/1999/xlink'
 width="224px" height="54px" viewBox="-0.58 -1.162 224 54">
     <image xlink:href='background.svg' width='224' height='54' />
     <image xlink:href='foreground.svg' x='12' y='12' width='32' height='32'/>
</svg>

当我直接在Firefox中打开这个
NewImage.svg
时,它会完美地打开


但是,当我从
GWT
应用程序中引用这个svg文件时,
NewImage.svg
不会加载到Firefox16中。它在IE 9中确实正确加载。

Gecko不允许内部加载的SVG加载任何外部资源,这是出于安全原因(基本上是为了防止图像在用户不希望的情况下打电话回家)。因此,您需要将任何想要使用的资源放入数据中:出于安全原因(基本上是为了防止用户不希望图像打电话回家),URI不允许加载在内部的SVG加载任何外部资源。因此,您需要将任何想要使用的资源放入数据中:uri

您能否发布代码片段,说明如何在GWT应用程序中使用此SVG文件?我在GWT应用程序中使用mxGraph作为Visualzer模块。它需要我在mxgraph.insertVertex()方法的“style”参数中传递SVG文件的相对路径,作为:style=node;形状=图像;image=您能否发布代码片段,说明如何在GWT应用程序中使用此SVG文件?我在GWT应用程序中使用mxGraph作为Visualzer模块。它需要我在mxgraph.insertVertex()方法的“style”参数中传递SVG文件的相对路径,作为:style=node;形状=图像;image=您能给我一个在另一个SVG文件中为SVG文件提供数据URI的示例吗?谢谢您的示例Boris!我试过:我不能像这样指向svg文件吗?我应该阅读svg文件并将其内容粘贴到“data:image/svg+xml”中吗?我甚至尝试过:这也没用。我不能通过url指向SVG文件吗?必须将图像内容作为数据url。您无法从图像链接到外部文件。请给我一个在另一个SVG文件中为SVG文件提供数据URI的示例,好吗?谢谢您的示例Boris!我试过:我不能像这样指向svg文件吗?我应该阅读svg文件并将其内容粘贴到“data:image/svg+xml”中吗?我甚至尝试过:这也没用。我不能通过url指向SVG文件吗?必须将图像内容作为数据url。无法从图像链接到外部文件。