首页 > 编程 > HTML > 正文

canvas.toDataURL image/png 报错处理方法推荐

2019-10-26 17:18:09
字体:
来源:转载
供稿:网友

问题背景:

遇到一个需求,要对播放的视频进行截图,视频使用video标签来播放,然后点击视频播放区域时截取实时的帧图片。

代码很简单如下:

JavaScript Code复制内容到剪贴板
  • var video = document.getElementById('video');      
  • var canvas = document.getElementById('canvas');      
  • var ctx = canvas.getContext('2d');      
  • var img = document.getElementById('img');      
  • function snapshot() {       ctx.drawImage(video,0,0);   
  •    img.src =  canvas.toDataURL('image/png');    }   
  •    video.addEventListener('click', snapshot, false);   

    问题提示:

    Uncaught SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.

    经过查阅和分析,发现这个其实是由于视频文件所在的域和图片和页面所在域不同,出现跨域传输的问题。

    解决方案:

    将视频文件放到页面所在域下。

    原文地址:http://blog.csdn.net/luochao_tj/article/details/44942125

  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表

    图片精选