是否有一种方法来确定交叉原点图像是否会污染画布而不画它?



我正在编写一个允许用户输入图像URL的脚本。我想把它画到画布上——但前提是CORS策略允许我这样做而不污染画布。有没有一种直接的方法来确定图像是否会污染画布而不首先将其绘制到画布上?

既然您已经获得了URL,那么您可以简单地强制将htmlageelement的crossOrigin设置为"anonymous"。如果图像加载,它不会污染你的画布*,如果它的错误事件触发…你不能把它画出来。

*好吧,有一种情况下,这仍然可能发生:如果图像代表了浏览器的其他安全威胁,例如svg图像与<foreignObject>在Safari中。对于这些边缘情况,在1x1的画布上画画是唯一的方法。

最新更新