javascript - 动态加载精灵 SVG 文件
问题描述
我有一个 SVG sprite 文件,由设计师为我的应用程序提供。他们希望我用来渲染他们的 SVG 图标的约定是在<body>
元素顶部加载精灵,然后像这样渲染图标:
<svg class="u-icon-gear-dims">
<use xlink:href="#gear"></use>
</svg>
这在我添加 SVG 精灵内联时有效,也就是说,将 SVG 精灵的全部内容放入我的 template.html 文件中。添加 sprite inline 会使 html 文件变得丑陋,但更重要的是,必须手动执行它会引发可维护性问题。
我目前直接引用单个 SVG 来渲染图标,但这会影响性能,因为当图标尚未加载时,通常会有一瞬间的延迟。
我找到了这个SO 主题,但似乎没有一个可行的答案。
FWIW,我们的应用程序使用 webpack,我目前正在尝试将 SVG 精灵加载到模板 HTML 文件中。
如何从 HTML 文件中的文件动态加载 SVG 精灵?
解决方案
你在使用 PHP 吗?有一些方法可以使用后端语言将 SVG 标记内联。 https://sheelahb.com/blog/how-to-get-php-to-play-nicely-with-svg-files/
推荐阅读
- javascript - 我不能覆盖 Promise 的 then() 函数吗?
- c++ - 如果应用程序从安装选项启动,则 LoadLibrary 失败并显示错误代码 126
- python - 我无法更改 matplotlib 中子图之间的距离
- angular - 拒绝设置不安全的标头(“upgrade”、“connection”、“sec-websocket-key”)
- android - 如何在 react-native android 应用程序中使用 detox 在 DatePicker 对象上选择日期?
- scala - 如何在 Spark SQL 和结构化流中转义“是保留关键字,不能用作字段名”错误?
- javascript - 如何在回调前插入http post数据?
- angular - 如何使用实体框架核心在角度上进行服务器端分页
- linux - 在 Linux 中选择 csv 中的首字母
- f# - 当初始化程序具有依赖关系时,F# XUnit 测试死锁