评论

收藏

[Html/CSS] canvas.toDataURL image/png 报错处理方法推荐

开发技术 开发技术 发布于:2021-09-15 10:15 | 阅读数:476 | 评论:0

问题背景:
遇到一个需求,要对播放的视频进行截图,视频使用video标签来播放,然后点击视频播放区域时截取实时的帧图片。
代码很简单如下:
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.
经过查阅和分析,发现这个其实是由于视频文件所在的域和图片和页面所在域不同,出现跨域传输的问题。
解决方案:
将视频文件放到页面所在域下。
原文地址:https://blog.csdn.net/luochao_tj/article/details/44942125

关注下面的标签,发现更多相似文章