javascript - 注入(inject) SVG 的目的是什么?

标签 javascript html svg

我目前正在为一个客户开发一个网站,该网站经常使用这个库将 SVG 注入(inject)到每个页面中: https://github.com/iconic/SVGInjector

此站点上的大多数页面都包含 15 个以上用作图标的 SVG 图标,我正在尝试最大程度地减少注入(inject)无法解决的请求数量。

我正在考虑将这些 SVG 包含为内联元素,以减少每个页面上的 HTTP 请求数量,但我不明白注入(inject)的目的是什么,而不仅仅是内联它们。我错过了什么?

谢谢!

最佳答案

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

  • 使用嵌入式 JavaScript
  • 能够使用 CSS 设置样式

另一方面,由于其他[有争议的]原因,使用内联 SVG 是不好的:

  • 如果您需要使用同一个 SVG 两次,则需要将其包含两次。一般来说,重复代码不好,因为它往往会导致错误。
  • 源文件中的 SVG 会产生膨胀。最好将 SVG 源代码分离到另一个文件中。

您提到的库允许您将 SVG 存储在不同的文件中,但又能够内联使用它们,从而解决了这些问题。

关于javascript - 注入(inject) SVG 的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46654471/

相关文章:

html - 当我将鼠标悬停在它们上面时,为什么只有一些 CSS 网格框会展开?

html - 点坐标百分比的 SVG 多边形

javascript - 点出现在带有圆形线帽 FF,IE 的线之前

javascript - 无法获取未定义的属性 'replace' - 仅在 IE9 中

javascript - 需要比特币校验地址和 json 帮助

javascript - 如何使用 JS/jQuery 检查两种颜色是否相同

javascript - 从 Android 主屏幕启动全屏 Chrome,无需状态栏

javascript - 如何在事件中或手动启动 CKeditor 插件?

javascript - 如何在我所有的请求查询字符串中包含 JSON webtoken

winforms - 有没有一种方法可以在Windows窗体中呈现SVG?