2013-04-18 94 views
2

我想在谷歌浏览器上显示库D3.js的SVG图像时遇到问题。在谷歌Chrome浏览器上显示svg图像

下面是代码:

var svg = d3.select("body").append("embed"); 

svg.attr("src","img/drawing.svg").attr("type","image/svg+xml"); 

此代码在Firefox,而不是在谷歌浏览器(同样的问题,如果我使用对象而不是嵌入的)。

但是,如果我将此样式添加到我的SVG图片:attr("style", "display:block"),我的照片将显示在Google Chrome上。

...有人能解释我会发生什么吗?因为这样显示我的图像是非常难看的。

+0

[本博客文章(http://henkelmann.eu/2010/12/16/display_svg_image_same_size_in_decent_browsers)可能的帮助。 –

回答

2

根据w3schools,嵌入标记为“”在HTML4和XHTML中已弃用(但允许在HTML5中)“。你应该使用对象标签。下面的代码片段工作在我的Chrome:

var svg = d3.select("body").append("object"); 

svg.attr("data", "http://upload.wikimedia.org/wikipedia/commons/6/6b/Bitmap_VS_SVG.svg") 
    .attr("type","image/svg+xml"); 
+0

谢谢,但我的文档类型是在HTML5中...无论如何这是一个奇怪的行为。 – user1528760

相关问题