背景

因为工作需要,所以研究了一下LivePlayer H5直播|点播播放器。使用起来很方便,但是也遇到一个不小的坑,搞的我欲仙欲死。

系统环境

windows10、vue2.6、@liveqing/liveplayer2.7.0

报错原因

视频截图中使用的视频来源跨域

报错截图

处理过程

遇到这个问题第一时间一定是百度啦,各种各样的答案,五花八门的方法总之最后都没有解决。但是对问题的解决还是有很大帮助的,在此列举一下网上的方法:
1、给video设置crossorigin=‘Anonymous’
2、在服务器设置Access-Control-Allow-Origin *
3、在视频的地址后面添加随机数

video.src =video.src+'?v='+Math.random()

4、使用setTimeout或者addEventListener包裹代码

最终结果

其实最多的答案就是第一条,也很接近真相。但是还有一条,由于我使用的@liveqing/liveplayer框架,它的html都被封装起来,所以一般都是在js代码块中去添加crossorigin

解决方案就是在mounted里面给video节点添加crossorigin属性

mounted(){//进行内部快照跨域截图let video0 = document.getElementsByClassName("vjs-tech")[0];video0.setAttribute('crossorigin', 'Anonymous')let video1 = document.getElementsByClassName("vjs-tech")[1];video1.setAttribute('crossorigin', 'Anonymous')let video2 = document.getElementsByClassName("vjs-tech")[2];video2.setAttribute('crossorigin', 'Anonymous')},

@liveqing/liveplayer 视频截图Failed to execute ‘toDataURL‘ on ‘HTMLCanvasElement‘: Tainted canvas处理相关推荐

  1. 视频截图Failed to execute ‘toDataURL‘ on ‘HTMLCanvasElement‘: Tainted canvas处理

    2021-10-14 背景 系统环境 报错原因 报错截图 处理过程 最终结果 背景 因为工作需要,所以研究了一下vue-video-player.使用起来很方便,但是也遇到一个不小的坑,搞的我欲仙欲死 ...

  2. Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported [已解决]...

    原文链接: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported [已解 ...

  3. 头像裁剪和Uncaught DOMException: Failed to execute ‘toDataURL‘ on ‘HTMLCanvasElement‘: Tainted canvases m

    此文是半原创. 头像裁剪的主要实现是同事找来发我的,用着还不错. 记一下,可以用作以后研究. 此文主要记录一个要点: 当用户上传已上传头像,裁剪头像弹窗获取到图片,当调用canvas的toDataUR ...

  4. Failed to execute ‘toDataURL‘ on ‘HTMLCanvasElement‘: Tainted canvases may not be exported.

    Intro 我在使用qrcode.react测试使用文本生成二维码的功能. 当执行以下API时,报错: let domTarget = event.target; let text = domTarg ...

  5. Fabric.js Failed to execute ‘toDataURL‘ on ‘HTMLCanvasElement‘: Tainted canvases may not be exported

    Fabric.js Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported ...

  6. Failed to execute 'toDataURL' on 'HTMLCanvasElement,在canvas.toDataURL()执行时候报错解决方案...

    添加跨域条件   crossorigin="anonymous" [Redirect at origin 'http://xxx.xx.com' has been blocked ...

  7. Uncaught DOMException: Failed to execute ‘toDataURL‘ on ‘HTMLCanvasElement‘: Tainted canvases may no

    未捕获的DomeException:未能在"HTMLCanvaElement"上执行"toDataURL":可能无法导出受污染的画布.出现这个bug的原因可能有 ...

  8. Uncaught SecurityError: Failed to execute ‘toDataURL‘ on ‘HTMLCanvasElement‘: Tainted canvases may

    一旦您将未经 CORS 批准从其他来源加载的任何数据绘制到画布中,画布就会被污染.受污染的画布不再被认为是安全的,任何从画布取回图像数据的尝试都将导致抛出异常. 在受污染的画布上调用以下任何一个都会导 ...

  9. html2canvas 报错:Failed to execute ‘toDataURL‘ on ‘HTMLCanvasElement : Tainted canvases may not be ...

    其实解决这个报错很简单,直接看下图: 把图中allowTaint改成false就好了哦!

最新文章

  1. python的编程模式-python编程(python开发的三种运行模式)【转】
  2. CTFshow 命令执行 web45
  3. C#三层结构(4)——扩展-加密字符窜源代码
  4. oracle0raD,在Radhat 5 上安装Oracle 10g(转)
  5. 鸿蒙 体验,华为鸿蒙OS全面上线,实际体验更胜EMUI11,安卓迎来“对手”
  6. 左神算法基础班4_4_3在二叉树中找到一个节点的后继节点
  7. Delphi中VCL库的原架构师Chuck Jazdzewski回忆Delphi 1的开发原则
  8. Python爬虫之Spider类用法简单介绍
  9. 危险化学品题库及答案
  10. C语言之找数组中重复的数
  11. 电子信息工程专业考研考什么内容?
  12. SLAM算法评估中的轨迹拟合与外参求解
  13. EndNote软件使用
  14. 那些好玩的网站(二)
  15. Matlab中fft函数详解
  16. linux media 权限,root用户在media文件夹下修改文件权限无效
  17. 二进制和十进制之间的换算
  18. 词嵌入之Word2vec
  19. [区块链之菜鸟入门]亲,你淘的区块链到了
  20. 视觉媒体通信作业记录(一) 简易yuv420视频播放器

热门文章

  1. 高通平台dtb文件的加载过程
  2. html onchange 改变菜单内容,HTML onchange用法及代码示例
  3. 在google earth 显示实时轨迹
  4. 一年赚一百万的思路—别做大多数的傻瓜
  5. 合作伙伴最怕的是什么_朋友合伙做生意的十大禁忌
  6. android的liveview装载数据
  7. git设置tag标签
  8. [练习]简易留言板制作
  9. DWG to SVG
  10. 灰光和彩光_白光和彩光