Intro

我在使用qrcode.react测试使用文本生成二维码的功能。

当执行以下API时,报错:

let domTarget = event.target;
let text = domTarget.toDataURL("image/png"); // 本行报错

报错信息如下:

Uncaught DOMException: Failed to execute ‘toDataURL’ on ‘HTMLCanvasElement’:
Tainted canvases may not be exported.

是说受污染的canvac不可以被导出(调用toDataURL())

解决

组件渲染代码:

// npm i qrcode.react
import Qrcode from "qrcode.react";// render:
<Qrcodevalue={this.state.value}renderAs={this.state.renderAs}size={this.state.size}bgColor={this.state.bgColor}fgColor={this.state.fgColor}level={this.state.level}includeMargin={this.state.includeMargin}// 二维码中心的图片(log)的设置imageSettings={{src: "https://img.alicdn.com/tfs/TB1qEwuzrj1gK0jSZFOXXc7GpXa-32-32.ico",width: 50, // 百分比height: 50,excavate: true,  // 中心是否为空心(被挖掘)}}
/>

当设置imageSettingssrc为某个CDN地址时,因为跨域的原因,出现了上文的错误。

解决:
我把要用到的资源下载到本地,之后导入本项目中的资源:

import alipayIcon from "../../assets/img/alipay.ico";src: alipayIcon,

重新运行,二维码正常渲染。

Failed to execute ‘toDataURL‘ on ‘HTMLCanvasElement‘: Tainted canvases may not be exported.相关推荐

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

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

  2. 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 ...

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

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

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

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

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

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

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

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

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

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

  8. @liveqing/liveplayer 视频截图Failed to execute ‘toDataURL‘ on ‘HTMLCanvasElement‘: Tainted canvas处理

    背景 因为工作需要,所以研究了一下LivePlayer H5直播|点播播放器.使用起来很方便,但是也遇到一个不小的坑,搞的我欲仙欲死. 系统环境 windows10.vue2.6.@liveqing/ ...

  9. 使用canvas截图跨域导致的报错(Failed to execute ‘toDataURL‘ on ‘HTMLCanvasElement)

    使用跨域图片绘制会污染canvas画布,导致无法导出canvas数据,转化成图片 解决办法:通过设置crossOrigin来解决 let video = document.createElement( ...

最新文章

  1. 人工智能先锋人物杰夫·辛顿说:“深度学习将无所不能”
  2. [并发编程] - Executor框架#ThreadPoolExecutor源码解读03
  3. windchill开发之创建对象
  4. boost::geometry::strategy::distance::haversine用法的测试程序
  5. 【Tools】MarkDown教程(四)-MarkDown中的UML图
  6. 使用Couchbase分页
  7. 23 SD配置-主数据-定义销售地区
  8. 继承的编写小结汇总。
  9. 收藏 | 深度学习图像分类任务中那些不得不看的技巧总结
  10. maven 打包替换文件_使用Maven打包生成文件 | 学步园
  11. 【英语学习】【WOTD】sleuth 释义/词源/示例
  12. nginx 正向代理_看这篇彻底认识Nginx!
  13. 【推荐系统】音乐推荐系统02
  14. 如何自学C语言(一个菜鸟的学习路)
  15. SQL中OVER(PARTITION BY)详解
  16. 中图杯获奖作品计算机组,我校代表队参加首届“中图杯”全国大学生先进制图技术与技能大赛取得优异成绩...
  17. C# 串口接收的优化处理
  18. wps里面如何使用计算机,wps表格中怎么在多行之间每行插一行?
  19. 苹果13系统锁屏延迟_iPhone锁屏慢有延迟怎么办 苹果手机锁屏不灵敏解决方法
  20. 1.实现将整数转换成字符串

热门文章

  1. MySQL数据库编码
  2. 羊了个羊第二关“真实”攻略
  3. jfinal-utils
  4. LiveView – 桌面全屏录屏软件 MP4格式录制
  5. 数据恢复技巧:如何恢复已删除的手机短信
  6. Outline agreements 框架协议
  7. 基于matlab-arcgis求栅格数据的相关性和显著性分析
  8. 【功能实现】手机游戏虚拟摇杆功能实现
  9. tomcat部署vue项目(成功版)
  10. linux恢复初始环境变量,linux 环境变量恢复默认值