Javascript 为损坏的映像加载返回的实际响应
使用Javascript 为损坏的映像加载返回的实际响应,javascript,html,dom,Javascript,Html,Dom,使用Imageonerror属性是一种广为人知的检测/处理损坏图像的做法 但在我的特殊情况下,我需要根据HTTP状态代码(如果有)、HTTP头(如果有)和实际响应体(如果有)执行不同的操作 我已经通过了标准,谷歌和手动通过错误对象传递到回调,几乎可以肯定这是不可能做到的 所以我只需要有人用一个例子来证实或反驳这一点 作为基线,我们可以使用以下代码: var i = new Image(); i.onerror = function(e) {}; i.src = someUrl; 那么,有没有一
Image
onerror
属性是一种广为人知的检测/处理损坏图像的做法
但在我的特殊情况下,我需要根据HTTP状态代码(如果有)、HTTP头(如果有)和实际响应体(如果有)执行不同的操作
我已经通过了标准,谷歌和手动通过错误对象传递到回调,几乎可以肯定这是不可能做到的
所以我只需要有人用一个例子来证实或反驳这一点
作为基线,我们可以使用以下代码:
var i = new Image();
i.onerror = function(e) {};
i.src = someUrl;
那么,有没有一种方法可以实现我想要的或不想要的呢?如果该映像来自同一个域,或者启用了CORS,那么您可以对其发出AJAX请求,并查看您得到了什么标题…(尽管远程服务器可能无法实现CORS,如果它实际上找不到该映像的话)@CBroe在这种情况下是我的服务器,我认为这是一种潜在的解决方法,但即使如此,也不能保证第二个响应与原始响应完全相同。那么真的需要检查客户端吗?定期评估服务器日志中的错误和/或实施404/500/。。。记录/通知某人的错误文档不够?“无法保证第二个响应将与原始响应完全相同”-您的服务器是否普遍有点情绪化,或者为什么您希望同一客户端的两个后续请求得到不同的结果??您需要执行哪些不同的操作,根据您提到的标准?首先,是否可以选择通过AJAX加载图像?如中所示,如果请求成功响应,请将其转换为数据URI并使用该URI显示图像。。。(这项工作的顺利程度可能取决于图像的大小、数量等)至少这有助于避免两个请求(可能是两个不同的响应)的问题。