Chrome 63 - 不会显示带变音符号的 SVG href 标识符
Chrome 63 - SVG href identifier with umlaut won't be displayed
ID 中包含变音符号并被 use
元素引用的 SVG 元素将不会显示在 Chrome 63 中。
Chrome 62(和之前的版本),Firefox 57 和 Edge 可以正确显示 SVG。
不会在 Chrome63 中显示 SVG 的示例:
<svg id="TextBoxA" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" version="1.1" viewBox="0 0 230 110" width="230" height="110" encoding="UTF-8" >
<defs>
<g id="ThisIsAnUmlautä">
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" width="230" height="110" version="1.1">
<path d="M0,0 h230 v110 l-230,0 z" fill="#444444"></path>
<path d="M3,3 h224 v104 l-224,0 z" fill="#d13d73"></path>
<text x="25" y="89" style="fill: #000000; stroke: none; font-size: 88px;">Aüöä</text>
</svg>
</g>
</defs>
<g>
<use href="#ThisIsAnUmlautä" opacity="1"></use>
</g>
</svg>
id 中没有变音符号的工作示例:
<svg id="TextBoxA" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" version="1.1" viewBox="0 0 230 110" width="230" height="110" encoding="UTF-8" >
<defs>
<g id="ThisIsAnUmlaut">
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" width="230" height="110" version="1.1">
<path d="M0,0 h230 v110 l-230,0 z" fill="#444444"></path>
<path d="M3,3 h224 v104 l-224,0 z" fill="#d13d73"></path>
<text x="25" y="89" style="fill: #000000; stroke: none; font-size: 88px;">Aüöä</text>
</svg>
</g>
</defs>
<g>
<use href="#ThisIsAnUmlaut" opacity="1"></use>
</g>
</svg>
错误报告:https://bugs.chromium.org/p/chromium/issues/detail?id=792848
问题
正如评论中所指出的,更改的意图可能只能由一位 Chromium 开发人员来回答。
了解是否允许将元音变音作为 SVG id 会很有帮助(现已在此处确认答案:ISO table(s) of valid characters for SVG ids)。
所以现在有人知道除了删除变音符号之外是否有解决此问题的方法吗?
这显然是铬中的一个错误。我的错误报告已合并到 https://bugs.chromium.org/p/chromium/issues/detail?id=779420.
chromium 开发者表示这个 bug 已经修复,将在 Chrome64.
中发布
在那之前,只有替换所有变音符号或完全避免变音符号的变通办法才有帮助。
ID 中包含变音符号并被 use
元素引用的 SVG 元素将不会显示在 Chrome 63 中。
Chrome 62(和之前的版本),Firefox 57 和 Edge 可以正确显示 SVG。
不会在 Chrome63 中显示 SVG 的示例:
<svg id="TextBoxA" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" version="1.1" viewBox="0 0 230 110" width="230" height="110" encoding="UTF-8" >
<defs>
<g id="ThisIsAnUmlautä">
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" width="230" height="110" version="1.1">
<path d="M0,0 h230 v110 l-230,0 z" fill="#444444"></path>
<path d="M3,3 h224 v104 l-224,0 z" fill="#d13d73"></path>
<text x="25" y="89" style="fill: #000000; stroke: none; font-size: 88px;">Aüöä</text>
</svg>
</g>
</defs>
<g>
<use href="#ThisIsAnUmlautä" opacity="1"></use>
</g>
</svg>
id 中没有变音符号的工作示例:
<svg id="TextBoxA" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" version="1.1" viewBox="0 0 230 110" width="230" height="110" encoding="UTF-8" >
<defs>
<g id="ThisIsAnUmlaut">
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" width="230" height="110" version="1.1">
<path d="M0,0 h230 v110 l-230,0 z" fill="#444444"></path>
<path d="M3,3 h224 v104 l-224,0 z" fill="#d13d73"></path>
<text x="25" y="89" style="fill: #000000; stroke: none; font-size: 88px;">Aüöä</text>
</svg>
</g>
</defs>
<g>
<use href="#ThisIsAnUmlaut" opacity="1"></use>
</g>
</svg>
错误报告:https://bugs.chromium.org/p/chromium/issues/detail?id=792848
问题
正如评论中所指出的,更改的意图可能只能由一位 Chromium 开发人员来回答。
了解是否允许将元音变音作为 SVG id 会很有帮助(现已在此处确认答案:ISO table(s) of valid characters for SVG ids)。
所以现在有人知道除了删除变音符号之外是否有解决此问题的方法吗?
这显然是铬中的一个错误。我的错误报告已合并到 https://bugs.chromium.org/p/chromium/issues/detail?id=779420.
chromium 开发者表示这个 bug 已经修复,将在 Chrome64.
中发布在那之前,只有替换所有变音符号或完全避免变音符号的变通办法才有帮助。