Javascript 注射SVG的作用是什么?

Javascript 注射SVG的作用是什么?,javascript,html,svg,Javascript,Html,Svg,我目前正在为一个客户开发一个网站,该客户经常使用这个库将SVG注入每个页面: 这个站点上的大多数页面都包含15个以上的SVG图标作为图标,我正试图将注入无法补救的请求数量降到最低 我正在考虑将这些SVG作为内联元素,以减少每个页面上HTTP请求的数量,但我不明白注入的目的是什么,而不仅仅是从内联开始。我错过了什么 谢谢大家! 由于库自述文件提到的某些原因,使用内联SVG是必要的: 使用嵌入式Javascript 能够使用CSS设置样式 另一方面,使用内联SVG是不好的,还有其他[有争议的]

我目前正在为一个客户开发一个网站,该客户经常使用这个库将SVG注入每个页面:

这个站点上的大多数页面都包含15个以上的SVG图标作为图标,我正试图将注入无法补救的请求数量降到最低

我正在考虑将这些SVG作为内联元素,以减少每个页面上HTTP请求的数量,但我不明白注入的目的是什么,而不仅仅是从内联开始。我错过了什么


谢谢大家!

由于库自述文件提到的某些原因,使用内联SVG是必要的:

  • 使用嵌入式Javascript
  • 能够使用CSS设置样式
另一方面,使用内联SVG是不好的,还有其他[有争议的]原因:

  • 如果需要两次使用同一个SVG,则需要包含两次。一般来说,重复代码是不好的,因为它容易导致bug
  • 源文件中的SVG会产生膨胀。最好在另一个文件中分离SVG源代码

您提到的库通过允许您将SVG存储在不同的文件中,并且能够内联使用它们来解决这些问题

他们似乎在争论。请注意,还有另一个SVG注入器更适合动态页面,因为它使用“onload”属性触发注入:谢谢。我目前正在努力提高这些页面的性能,一般来说,它们有很多请求。这些SVG每页使用一次。是否值得考虑将它们内联起来,或者任何性能提升都可以忽略不计?CSV??。你是说SVG!。如果你的站点使用一些像WebPoad这样的构建系统,我会考虑使用一个插件,这个插件在运行时运行这个库,但是在构建时,就像这个一样。此外,如果您使用,SVG和其他图像等内联资产的[可能]性能提升也会出现。@nicooga SVG具有内置功能,可以跨页面重复使用SVG和/或在多个位置引用相同的SVG内容,并在各个位置使用可选的特定CSS覆盖;查阅因此,支持“SVG注入”的可重用性论点在IMHO中站不住脚。@imhotap这是一个我不知道的好特性。但我不认为它能消除所有的重复问题。您仍然需要重复根
svg
元素的所有属性。