性能问题内联SVG与嵌入或iframe

phi*_*ipp 5 html svg

我有两个SVG图像,它们一起有大约8000行,由几个带渐变的形状组成.没有图案,过滤器,文本,只有带笔划的基本图形元素,简单或渐变填充.

目前,它们在生成时被内联注入HTML,因此源代码变得安静.这是否会降低动画的性能,因此最好不同地嵌入svg?

嵌入svg时是否有一般的经验法则?

问候菲律宾

cod*_*joe 1

如果您使用 HTML5 SVG 标签嵌入 SVG 内联,这不仅会增加 html 文件大小,还会使 DOM 和浏览器渲染器保持忙碌。

如果您使用 iframe,您并不真正知道它何时被加载或渲染,至少对于所有浏览器来说是这样。

HTML5 为您提供了 JavaScript,这可能是解决方案。只需等待主体加载然后注入 SVG。

您可以使用body-onLoad或 jQueries read()-funktion

下面是它在 jQuery 中的实现方式:

<!DOCTYPE html>
<html>
<body>
<div id="svg-01" class="placeholder"></div>
<script src="path/to/jQuery.js"></script>
<script>
$(document).ready(function(){
    $("#svg-01").replaceWith('<svg><!--// some svg //--></svg>');
    });
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我什至会更进一步,将其替换为 iframe 和gziped SVG,如此处所述。