我目前正在构建一个功能,用户可以上传视频,然后选择缩略图。它是基于这个小提琴:
http://jsfiddle.net/e98tffu6/556/
保存画布数据的代码 - 从toDataUrl()
开始 - 在正常情况下正常工作。已经测试过了。我可以通过AJAX获取图像数据并将其发布到我的操作页面。
但是我得到了关于Canvas被污染的经典错误。像这样:
Uncaught SecurityError:无法执行'toDataURL' 'HTMLCanvasElement':可能无法导出受污染的画布。
那是因为我的视频来自不同的域名。我使用CDN。
我正在http://example.com
并加载http://videos.example.com
的视频 - 因此代码在此特定情况下无效。
我知道以某种方式使用javascript,我必须在我的源素材上设置一个名为crossOrigin = "Anonymous"
的属性,无论是视频本身还是画布。 SO上有这个问题有一百万种变体。我已经看了他们所有,我仍然无法弄清楚我在做什么。
有人可以把toDataUrl()
在这种情况下工作的例子放在一起吗?
提前致谢。