【发布时间】:2020-04-04 13:15:37
【问题描述】:
我编写了一些在 Chrome 和 Firefox 中完美运行的代码,但在 Safari 中却不行。碰巧我必须使用-webkit-clip-path,而不是使用clip-path 属性。但是,当我尝试在 D3 中设置此属性时,setAttribute 函数出现错误。示例:
this._path = this._curve.insert('path')
.attr('d', this._line(chronicle))
.attr("clip-path", "url(#clip)")
.attr("-wekbit-clip-path", "url(#clip)") // ERROR HERE
.attr("class", "curve")
.attr("stroke", "orange");
错误是:InvalidCharacterError: The string contains invalid characters.
我发现当您在 JavaScript 中使用供应商前缀时,它们有一个特殊的名称。但在 .attr 函数中使用该特殊名称不会在生成的 HTML 中转换为 -vendor-attribute。
那么如何使用.attr 函数在D3 中设置供应商前缀属性(特别是-webkit-clip-path)?
【问题讨论】: