我在我的网站上使用color-thief.js来根据我的投资组合图像渲染一个颜色选择。
有时它正在工作,但我在大多数情况下都会收到错误。我不是JS的超级英雄,所以如果有人能帮助我,那真是太好了。
未捕获的IndexSizeError:索引或大小为负数或大于 允许的值。
您可以在控制台中看到错误弹出,并且在我第一次加载它时似乎没问题。
答案 0 :(得分:0)
这种行为(有时它有效,有时不行)是由于试图在没有加载图像的情况下调用彩色小偷,尝试使用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');