0

我在我的网站上使用 color-thief.js 根据我的投资组合图像呈现调色板。

有时它可以工作,但我大部分时间都收到以下错误。我不是 JS 超级英雄,所以如果有人能在这里帮助我,那就太好了。

未捕获的 IndexSizeError:索引或大小为负数,或大于允许的值。

链接到我的投资组合页面

您可以在控制台中看到错误弹出,当我在短时间内第一次加载它时似乎确实很好。

4

1 回答 1

1

该行为(有时有效,有时无效)是由于尝试在未加载图像的情况下调用颜色窃贼引起的,请尝试使用 onload 事件:

var el = document.getElementById(my_image_id);
var img = new Image();
img.onload = function() {
  var dominantColor = colorThief.getColor(el);
  /* ... */
};
img.src = el.getAttribute('src');
于 2013-11-18T01:20:02.550 回答