我正在构建一个使用javascript& amp;画布截取视频的截图,只要视频与我的代码在同一个域中,一切正常。
现在,我的客户正在询问是否可以创建某种API,以便用户可以在域X中添加iframe,但是从域Y插入自己的视频。我已设法执行此操作,它适用于Chrome ,Firefox,但是在IE10& safari我不断得到常见的“Uncaught SecurityError:在'CanvasRenderingContext2D'上执行'getImageData'失败:画布已被跨源数据污染。” - 错误。
我一直在使用托管在Amazon S3上的视频,并使用以下CORS配置:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Authorization</AllowedHeader>
<AllowedHeader>origin</AllowedHeader>
<AllowedHeader>x-requested-with</AllowedHeader>
</CORSRule>
</CORSConfiguration>
我已经将crossOrigin =“anonymous”属性添加到视频元素中。 根据Caniuse.com的说法,CORS应该可以在这些浏览器上正常工作,因此在IE10和IE上引起这些问题的原因是什么?苹果浏览器?