【发布时间】:2016-02-02 23:57:08
【问题描述】:
在最新更新后,我们的网站突然停止在 Chrome(只是 chrome)上运行......
给出的错误是
Uncaught TypeError: Cannot read property 'numberOfItems' of undefined
这是使用 numberOfItems 属性的地方:
// Absolutize and parse path to array
, parse: function(array) {
/* if it's already is a patharray, no need to parse it */
if (array instanceof SVG.PathArray) return array.valueOf()
/* prepare for parsing */
var i, il, x0, y0, x1, y1, x2, y2, s, seg, segs
, x = 0
, y = 0
/* populate working path */
SVG.parser.path.setAttribute('d', typeof array === 'string' ? array : arrayToString(array))
/* get segments */
segs = SVG.parser.path.pathSegList
for (i = 0, il = segs.numberOfItems; i < il; ++i) {
seg = segs.getItem(i)
s = seg.pathSegTypeAsLetter
etc. (I didn't put the whole loop)
为什么在最新的 Chrome 更新后 SVG 和 Javascript 无法读取此属性?有什么好的解决办法?
谢谢!!
【问题讨论】:
-
在调试器中检查
segs的值。 -
他们是目前正在围绕 SVG 'path' 元素实施的工作草案。他们可能是一个错误 (svgwg.org/svg2-draft/paths.html#InterfaceSVGPathElement)。我会尝试 Canary 看看是否存在问题。
-
无关:不要省略
;s。这会咬你。很难。 -
这个问题在 svg.js 中得到解决(发布于 2015 年 11 月 30 日)。所以你只需要更新你的版本
标签: javascript google-chrome svg