Javascript 未在Chrome中加载AJAX内容的SVG符号

Javascript 未在Chrome中加载AJAX内容的SVG符号,javascript,jquery,ajax,google-chrome,svg,Javascript,Jquery,Ajax,Google Chrome,Svg,我可以让SVG很好地加载… 但当通过AJAX加载内容时,它们会加载空白内容 这在Chrome(在macOS上测试)中特别适用于我。Firefox和Safari运行良好(在macOS上测试) 我认为这可能与文件引用有关,尽管我已经将root用于SVG文件引用(“/”) 如何解决这个问题,使通过AJAX加载的SVG在Chrome中工作? 下面是一个测试用例: 当你登陆页面时,请滚动至触发无限滚动,在无限滚动中加载更多项目。您将看到图标没有正确加载 另外,我希望在这里或CodePen上包含一个代码片

我可以让SVG很好地加载… 但当通过AJAX加载内容时,它们会加载空白内容

这在Chrome(在macOS上测试)中特别适用于我。Firefox和Safari运行良好(在macOS上测试)

我认为这可能与文件引用有关,尽管我已经将root用于SVG文件引用(“/”)

如何解决这个问题,使通过AJAX加载的SVG在Chrome中工作?

下面是一个测试用例:

当你登陆页面时,请滚动至触发无限滚动,在无限滚动中加载更多项目。您将看到图标没有正确加载


另外,我希望在这里或CodePen上包含一个代码片段,等等。但是另一个文件的内容需要提取,所以我无法让它通过这些系统工作。

我通过在symbol devs.svg中添加xlink定义解决了这个问题。

symbol-defs.svg文件是由生成的,因此我已要求创建者使用修复程序更新应用程序

这是原版…

这是固定版本…

更新:
Icomoon现在已经更新,所以这个问题不应该再出现在应用程序中了。

在Chrome中对我起作用的是更新这个,使用绝对URL而不是相对URL:

<svg><use xlink:href="/images/icons.svg#home"></use></svg>

变成

<svg><use xlink:href="https://www.example.com/images/icons.svg#home"></use></svg>


希望这有帮助

请创建一个。如果你最终修复了你的外部站点,这个问题对未来的访问者将不再有用。请按照用户user87312的回答回答:这是一个bug。。。丑陋--解决方法--(这让我知道这是一个bug):
document.querySelectorAll('use').forEach(u=>u.replaceWith(u.cloneNode())
(需要在每次滚动显示时执行)。如果你能分享你用来生成这些SVG的代码,也许可以更清楚地找出错误所在,并找到更好的解决方法。谢谢@Melendez的建议,但这对我来说并不管用。我没有使用图像标签,而是使用svg标签,所以可能这就是它没有帮助的原因。谢谢@kaido,我正在隔离代码,并将在完成后更新。SVG是通过这种方式生成的。