检查浏览器是否支持svg#Text功能

时间:2018-05-08 10:02:23

标签: javascript svg

我正在开发使用svg#text feature的项目。

我使用以下代码段检查了它

document.implementation.hasFeature(
"http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1");

它返回true

但是,当我尝试关注代码段时,

document.implementation.hasFeature(
"http://www.w3.org/TR/SVG11/feature#Text", "1.1");

我收到false

我遇到的更多事情是chrome在每种情况下都会返回true,为什么? 例如。

document.implementation.hasFeature(
"http://www.w3.org/TR/SVG11/feature#BlaBlaXYZ", "1.1");

现在这也在true中返回chrome

[编辑] 以下示例不适用于旧的Firefox浏览器

 <svg id="main_svg" xmlns="http://www.w3.org/2000/svg" style="position:absolute;left:0;top:0;z-index:1;pointer-events:none;height:512px;width:512px">
    <text id="abc" font-family="sans-serif" font-size="10pt">
        <tspan id="xyz" x="510" y="243" text-anchor="end" fill="blue">foo</tspan>
        <tspan id="xyz_sh" x="509" y="242" text-anchor="end" fill="white">another foo</tspan>
    <text>
 <svg>

1 个答案:

答案 0 :(得分:0)

hasFeature不久前被弃用了。为了简化人们不使用它的迁移,它仍然存在(一段时间)但不管输入参数如何都应该always return true

Chrome,Firefox和Edge始终返回true。

hasFeature从来没有足够精细。<​​/ p>

  • 如果浏览器实现了文本而不是tspan,则返回true。
  • 如果他们同时实现了多个x值而不是多个x值会怎么样?
  • 如果他们做了多个x值但是有一些错误意味着你无法使用它会怎么样?