获取浏览器已加载的图像的Javascript唯一标识符

获取浏览器已加载的图像的Javascript唯一标识符,javascript,jquery,canvas,hash,image,Javascript,Jquery,Canvas,Hash,Image,我有一些页面显示书籍信息,它们使用外部封面服务器来获取封面,将适当的url放入img元素的src属性中 封面服务器没有所有的封面,所以它通常会返回一个默认的空白封面 我需要一种方法来知道,在javascript端,一旦页面加载,封面服务器返回的封面是否是默认的空白图像,以便用自定义html代码替换默认的空白图像。所以我试着为封面图像计算一个唯一的标识符 我本想使用canvas'drawImage方法来实现这一点,然后获取canvas.toDataUrl的哈希值,但后者会返回一个安全异常,因为该图

我有一些页面显示书籍信息,它们使用外部封面服务器来获取封面,将适当的url放入
img
元素的
src
属性中

封面服务器没有所有的封面,所以它通常会返回一个默认的空白封面

我需要一种方法来知道,在javascript端,一旦页面加载,封面服务器返回的封面是否是默认的空白图像,以便用自定义html代码替换默认的空白图像。所以我试着为封面图像计算一个唯一的标识符

我本想使用canvas'
drawImage
方法来实现这一点,然后获取canvas.toDataUrl的哈希值,但后者会返回一个安全异常,因为该图像来自外部服务器


你有什么更好的(并且有效的)想法来实现我的目标吗?

在客户端是做不到的。如果一个域的脚本可以查看来自另一个域的映像的内容,那么这将是一个安全漏洞(跨站点脚本)


您必须在第三方服务器上使用单独的服务查找信息,或者在服务器端获取图像并将其与填充图像进行比较。(建议首先使用HEAD请求检查长度,看看是否与填充图像的已知长度匹配,以提高速度。)

也许您可以对封面图像执行XmlHttpRequest,如HEAD请求,然后查看ETag头值(或Content-MD5或其他).

空图像的宽度和高度是否与正常图像不同?如果是这样的话,使用它作为指南。

空白图像是否有一个唯一的URL,或者服务器只是在同一个URL上吐出一个空白的图像作为封面应该在?不,URL是这种类型的,并且如果服务器没有该书本的封面,它返回默认的空白封面看起来您需要某种rest api来询问您的服务器是否有封面图像..我不能,因为封面服务器不在我的控制之下。那么最终目标是什么呢?我的愿望是不做任何进一步的请求,但是,正如@bobince所观察到的,由于安全限制,这似乎是不可能的。