Chrome 126.0.6478.57版本中<use>标签无法加载SVG问题求助
针对你遇到的Chrome 126专属的SVG
排查跨域限制
Chrome 126可能强化了SVG外部资源的跨域校验。如果你的SVG Sprite是从其他域名/子域名加载的,即使之前正常,现在可能被拦截。要么把Sprite文件移到当前页面同域名下,要么在Sprite文件的服务器配置Access-Control-Allow-Origin响应头,允许当前页面域名访问。校验SVG Sprite语法
新版本Chrome对SVG语法的容错性可能降低了。检查Sprite里的<symbol>标签:确保每个id和你在<use>里引用的iconId完全匹配(大小写、拼写都不能错),标签闭合完整,没有多余的特殊字符或者未转义的内容。改用内联Sprite
把SVG Sprite的代码直接嵌入到HTML页面的<head>或<body>里,然后用<use href="#${iconId}"></use>引用。这种方式绕开了外部资源加载的问题,能快速排查是不是路径、缓存或跨域导致的失效。强制清除缓存刷新
浏览器更新后可能残留旧缓存冲突。按Ctrl+Shift+R(Windows/Linux)或Cmd+Shift+R(Mac)强制刷新,再去设置里清除Chrome的浏览缓存,确保加载的是最新的页面和Sprite文件。检查Chrome实验特性
输入chrome://flags/打开设置页,搜索和SVG相关的选项(比如SVG external resource use),确认这些选项没有被手动禁用。如果有禁用的,改回默认状态后重启Chrome再测试。
内容的提问来源于stack exchange,提问作者Dat Tran

