【发布时间】:2011-04-18 17:41:18
【问题描述】:
根据我的研究,我知道有三种方法可以在 HTML 中放置 svg 文件:
使用嵌入:
<embed src="plot1.svg" width="500" height="320" type="image/svg+xml" />
使用对象:
<object data="plot1.svg" width="500" height="320" type="image/svg+xml" />
使用 iframe:
<iframe src="plot1.svg" width="500" height="320"> </iframe>
我已经在一个测试平台(django 内置开发服务器,在 Firefox 3.6 中渲染页面)上对所有这三个进行了试验。在这种明显无菌的环境下,我没有注意到这三者之间的任何区别——w/r/t 性能或分辨率。
我的问题是其中一个是否比其他两个更好,如果是,是哪一个。答案当然可能取决于事实,我试图将其限制在相关的范围内:
我们经常在我们的网站上显示数据(例如时间序列),这些数据通常是为了响应某些用户操作而创建的;基于该用户操作,调用数据库,返回的数据被处理并发送到绘图引擎,该引擎呈现静态图像,然后嵌入到页面中 - 非常标准的东西。
这很好用,但我想为这些图表添加一些交互功能(例如,工具提示、超链接轴标签、突出显示绘图中的一组点)。有些图表相当复杂(例如,多面板调节),我还没有找到包含这些功能的 javascript 图表库。我最终决定使用相同的绘图库(R 中的 Lattice),但在 svg 中渲染每个图表,然后在后处理步骤中添加用户交互功能,该步骤主要由直接操作 XML 的 javascript 函数组成。
【问题讨论】:
-
仅供参考,有 several other ways 在页面上包含 svg。
-