【问题标题】:Index or size was negative, or greater than the allowed value.索引或大小为负数,或大于允许值。
【发布时间】:2013-10-07 22:12:51
【问题描述】:
我在我的网站上使用 color-thief.js 来根据我的投资组合图像呈现调色板。
有时它可以正常工作,但我大部分时间都收到以下错误。我不是 JS 超级英雄,所以如果有人能在这里帮助我,那就太好了。
未捕获的 IndexSizeError:索引或大小为负数,或大于
允许的值。
Link to my portfolio page
您可以在控制台中看到错误弹出,并且当我在短时间内第一次加载它时似乎没有问题。
【问题讨论】:
标签:
javascript
jquery
error-handling
console
【解决方案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');