cross-browser - 任何针对 SVG 的跨浏览器解决方案?

标签 cross-browser svg

我知道 Raphael.js 使用 svg,而且它完全跨浏览器:它甚至可以在 ie6 上运行!所以我想肯定有一些 js 修复允许在每个浏览器中使用 svg,对吧?我不需要像 Raphael 这样的完整图形和动画库,只需要 IE 中的 SV 支持等。

我只是在阅读有关 SVGweb 的信息,其中涉及 Google 的开发,但显然它使用 Flash,因此它不是跨浏览器安全的。

最佳答案

Raphael 有一个用于 IE 的绘图后端,它使用 VML DOM,还有一个用于支持 SVG 的浏览器的后端,它使用 SVG DOM。然后它有一个暴露统一绘图 API 的外观,并在运行时加载适当的后端,该后端将对统一绘图 API 的调用委托(delegate)给适当的浏览器 API(SVG 或 VML DOM)。

这是 js 库中常用的策略。例如,此策略也用于 dojox.gfx .看,这是 SVG 适配器:http://svn.dojotoolkit.org/src/dojox/trunk/gfx/svg.js这是 VML 适配器:http://svn.dojotoolkit.org/src/dojox/trunk/gfx/vml.js

虽然我自己没有尝试过,但您可能会查看的另一个库是 Ample SDK ,它的工作方式与 SVG Web 类似,因为开发人员针对常规 SVG DOM API 进行编程,而不是 JavaScript 库公开的特定 API。与 SVG Web 一样,为了实现这一点,它在内部使用了影子 DOM。然而,它与 SVG Web 的不同之处在于它不使用 Flash,而是在 IE 内部委托(delegate)给 VML。

关于cross-browser - 任何针对 SVG 的跨浏览器解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6762748/

相关文章:

html - 动态垂直多列列表在 IE 中不起作用

html - 盒子阴影不适合元素的边

validation - 目前哪些浏览器支持 'range' 输入?

selenium - 为 svg 标签创建 XPATH

php - 使用 PHP 计算关于曲线的 SVG 边界框

php检测浏览器

flash - 有没有把HTML5 + JS + CSS 转换成SWF 的工具?

javascript - 如何限制可拖动 SVG 形状的范围?

d3.js - 如何使用D3 d3js根据元素属性分层追加 "composed"元素?

javascript - 为什么只有欧洲出现在我的 RaphaelJs map 上?