由于跨源数据污染而无法执行“getImageData()”:解决方案
当尝试从使用 getImageData() 方法访问画布时,可能会出现“Uncaught SecurityError”,表明画布已被跨源数据污染。出现此错误的原因是画布上渲染的图像与尝试访问它的脚本来自不同的域。
要解决此问题并允许 getImageData() 正常运行,您可以实现以下解决方案:
Set img.crossOrigin = "Anonymous":
确保适当的 CORS 标头:
托管跨源图像的服务器必须在其响应中设置以下标头:
示例代码修改:
在您的代码中,修改图像加载行以包含 crossOrigin:
通过实施这些步骤,您可以防止跨域数据污染并成功利用 getImageData() 从画布中检索像素数据。
以上是\'跨源数据污染:如何修复画布中的\'getImageData()\'安全错误\”的详细内容。更多信息请关注PHP中文网其他相关文章!