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

标签 javascript jquery canvas hash image

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

封面服务器没有所有的封面,所以它经常返回给我一个默认的空白封面。

我需要一种方法来了解 javascript 端和页面加载后,如果封面服务器返回的封面是默认的空白图像,以便用自定义 html 代码替换默认的空白图像。所以我试图计算封面图片的唯一标识符。

我想使用 canvas 的 drawImage 方法然后获取 canvas.toDataUrl 的散列来执行此操作,但后者返回给我一个安全异常,因为图像来自来自外部服务器。

您有更好的(可行的)想法来实现我的目标吗?

最佳答案

无法在客户端完成。如果来自一个域的脚本可以查看来自另一个域的图像的内容,这将是一个安全漏洞(跨站点脚本)。

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

关于javascript - 获取已由浏览器加载的图像的 Javascript 中的唯一标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7491366/

相关文章:

javascript - 如何使用 JavaScript 在 PDF 中截取屏幕截图

javascript - 如何合并包含对象的数组?

javascript - jquery按钮在条件为真时不显示

javascript - 如何根据设备/屏幕分辨率调整屏幕?

typescript - TypeScript项目中如何使用OffscreenCanvas

delphi - 有什么方法可以加快在位图 Canvas 上的绘制速度?

javascript - 如何使用CreateJS绘制弯曲的箭头?

javascript - 我的 json 值开箱即用。如何漂亮地打印这些值?

javascript - 从父窗口关闭子窗口

jquery - $(document).ready(function() 不工作