2010-10-05 104 views
2

我有一个web服务,它返回一串svg代码。我的问题是,我不知道该怎么办。我从来没有使用过SVG。我的问题是:以HTML格式显示SVG

  1. SVG是否有普通浏览器的强大支持?
  2. 我该如何显示SVG代表的图像?

回答

1

SVG几乎所有主流浏览器都支持,除了IE我认为,但也可以用一些插件渲染。 IE VML呈现

我建议使用RaphaelJS http://raphaeljs.com/reference.html#image

编辑:

var r = Raphael("holder", 600, 540); //"holder" is the id of an empty div in html file 
r.image("lion.svg", 140, 140, 320, 240);// r.image(src,x,y,width,height) 
+0

Rapheal支持加载SVG吗?我有一些现有的SVG XML,但基于文档,我不知道如何。我错了吗? – user462166 2010-10-05 20:47:33

+0

我已经编辑了一些基本代码的帖子:你可以看看拉斐尔上的演示例如:http://raphaeljs.com/reflection.html这里它加载了一个jpg,你可以用svg代替路径。如果您对jQuery感到满意,请尝试使用http://keith-wood.name/svg.html – jknair 2010-10-06 03:35:20

0

与HTML5开始,你可以在HTML文档中直接嵌入SVG。除Internet Explorer之外,所有主要的现代浏览器都支持此功能。您可以使用HTML画布概念(如图所示here

但是,因为你极有可能不能离开IE乡亲背后的是,你可以用所示here

0

大多数国有三个传统选项之一去最先进的浏览器支持SVG, ,但很少仍使用浏览器(例如Internet Explorer 7)失败。 因此,为了完美的兼容性,你应该坚持gif,jpg或png格式。 在这里测试你自己的浏览器:http://alphanemoon.com/2008/artikel/inline-svg-browser-test.xhtml

+0

Internet Explorer 8也缺乏对SVG的支持。 – colinmarc 2010-10-05 19:43:36

1

Svg是一个XML规范。大多数现代浏览器可以直接显示它,但Internet Explorer不能。

我建议将所有的svg内容包装在svgweb之内,这是svg代码的一个薄层。如果用户使用符合标准的浏览器,则它将正常显示svg。否则,它会将其转换为Flash内容。