我尝试从每个图标的一个SVG文件迁移到所有这些图标的单个SVG精灵。我想这个精灵只加载一次。
但是,每当我尝试将图标附加到文档时,Google Chrome似乎都会重新加载该文件。如何防止这种情况?以下是简化的测试用例。打开"网络"在开发工具中选项卡,按"精灵"过滤,然后点击"运行"。您会注意到Google Chrome会尝试加载" sprite.svg"两次,而Firefox只会执行一次。
setTimeout(function () {
foo.innerHTML = [
'<svg role="presentation" viewBox="0 0 100 100">',
'<use xlink:href="sprite.svg#foo">',
'</use>'
].join('');
}, 1000);
&#13;
<svg role="presentation" viewBox="0 0 100 100">
<use xlink:href="sprite.svg#foo"></use>
</svg>
<div id="foo"></div>
&#13;