【发布时间】:2011-09-02 12:51:11
【问题描述】:
我写了一个名为 waitForImages 的jQuery plugin。它基本上提供了在加载图像时运行回调的能力。
我最近收到了feature request 以某种方式让代码在下载图片出错时发出通知。
找不到图片时插件可以调用函数吗?
我想过添加一个额外的参数,可以检查图像是否下载成功。
image.onerror = function() {
eachCallback.call(img.element, allImgsLoaded, allImgsLength, true);
}
然后该人可以检查最后一个参数是否为true,如果是,则加载图像时出错。
不过,我觉得这个想法很香。如果我以后想在那里添加一个额外的参数怎么办?图片下载成功和失败应该调用同一个回调吗?
然后我想如果找不到图像则抛出异常。
throw new Error(img.src ' + does not exist');
然而,这并不灵活,你需要像这样调用插件......
try {
$('body').waitForImages();
} catch (exception) {
// Which image didn't load?
alert(exception.message);
}
如果图像没有加载到我的插件中,最好的处理方法是什么?
【问题讨论】:
标签: jquery jquery-plugins error-handling